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