Использование RequireJS с узлом для оптимизации создания единого выходного файла не включает все необходимые файлы - PullRequest
0 голосов
/ 01 сентября 2018

Я использую FayeJS , и последняя версия была изменена для использования RequireJS, поэтому больше нет одного файла для ссылки в браузере. Вместо этого структура выглядит следующим образом:

/adapters
/engines
/mixins
/protocol
/transport
/util
faye_browser.js

Я использую следующий скрипт сборки nodejs, чтобы попытаться завершить все вышеперечисленное в одном файле:

var fs = require('fs-extra'),
    requirejs = require('requirejs');

var config = {
    baseUrl: 'htdocs/js/dev/faye/'
    ,name: 'faye_browser'
    , out: 'htdocs/js/dev/faye/dist/faye.min.js'
    , paths: {
        dist: "empty:"
    }
    ,findNestedDependencies: true
};

requirejs.optimize(config, function (buildResponse) {
    //buildResponse is just a text output of the modules
    //included. Load the built file for the contents.
    //Use config.out to get the optimized file contents.
    var contents = fs.readFileSync(config.out, 'utf8');
}, function (err) {
    //optimization err callback
    console.log(err);
});

Содержание файла faye_browser.js:

'use strict';

var constants = require('./util/constants'),
    Logging   = require('./mixins/logging');

var Faye = {
  VERSION:    constants.VERSION,

  Client:     require('./protocol/client'),
  Scheduler:  require('./protocol/scheduler')
};

Logging.wrapper = Faye;

module.exports = Faye;

Как я понимаю, оптимизатор должен извлекать нужные файлы, а затем, если эти файлы имеют требуемые файлы, он должен извлекать эти и т. Д. И выводить один минимизированный файл faye.min.js, содержащий В целом, рефакторинг, поэтому никаких дополнительных вызовов со стороны сервера не требуется.

Что происходит, когда создается файл faye.min.js, но он содержит только содержимое файла faye_browser.js, остальные файлы не включены.

Я искал по всей сети и просмотрел кучу разных примеров, и ни один из них мне не помог.

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 03 сентября 2018

Для всех, кто пытается это сделать, я опаздываю на странице загрузки: «1001 *

Версия Node.js доступна через npm. Этот пакет содержит копия клиента браузера, которая обслуживается сервером Faye, когда работает.

Таким образом, чтобы получить его, вам нужно вытащить код через NPM, а затем перейти в каталог установки NPM, и он находится в каталоге "client" ...

...