Я использую 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, ни один из других необходимых файлов не включается.
Я искал по всему Интернету и просмотрел кучу разных примеров, и ни один из них не работает для меня.
Что я здесь делаю неправильно?