Ошибка оптимизации requirejs: плагин Loader не вызывал обратный вызов load в build: text
Использование require.js с api requirejs (r.js) для оптимизации / минимизации и необходимость реорганизации нашей структуры каталогов (и, следовательно, переназначения всего в конфигурационном файле requirejs /etc).
Результат попытки компиляции (через узел) в настоящее время:
compiling js...<br />
/usr/local/www/site/build/node_modules/requirejs/bin/r.js:14174<br />
throw new Error(errorMsg);<br />
^
**Error: Error: Loader plugin did not call the load callback in the build: text**<br />
Module loading did not complete for: <br />
at Function.build.traceDependencies (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:15178:19)<br />
at build (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:14174:23)<br />
at requirejs.optimize.runBuild (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:15472:30)<br />
at Object.context.execCb (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:1692:33)<br />
at Object.Module.check (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:948:51)<br />
at Object.Module.enable.id (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:1181:34)<br />
at g (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:233:23)<br />
at Module.emit (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:1224:21)<br />
at each (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:165:31)<br />
at Object.Module.emit (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:1223:17)<br />
at Object.Module.check (/usr/local/www/site/build/node_modules/requirejs/bin/r.js:1002:30)<br />
Построить вызов это:
var requirejs = require('requirejs');
var config = {
baseUrl: './public/js',
mainConfigFile: './public/js/config/config.js',
paths: {
'requireLib': 'library/require'
},
out: "./public/js/minified/main.js",
name: "minified/main",
wrap: false,
preserveLicenseComments: false,
deps: ["../js/local/main","modules/movie","modules/theatre"]
};
requirejs.optimize(config);
Файл конфигурации:
require.config({
paths: {
// JavaScript folders
libs: "library",
plugins: "plugin",
adminlibs: "../adminassets/js/plugins/ui",
// Libraries
jquery: "library/jquery",
jqcookie: "library/jquery.cookie",
jqui: "../adminassets/js/plugins/ui/jquery-ui-1.10.0.custom.min",
jqezmark: "library/jquery.ezmark",
jqcolor: "library/jquery.color",
underscore: "library/underscore-amdjs",
backbone: "library/backbone-amdjs",
chosen: "library/chosen.jquery",
moment: "library/moment",
// Plugins
text: "plugin/text",
async: "plugin/async",
datetimepicker: "../adminassets/js/plugins/ui/jquery.datetimepicker",
ajaxfileupload: "../adminassets/js/plugins/uploader/jquery.ajaxfileupload"
},
shim: {
'chosen': ['jquery'],
'jqcookie': ['jquery'],
'jqui': ['jquery'],
'jqezmark': ['jquery'],
'jqcolor': ['jquery'],
'jquifull' : ['jquery'],
'datetimepicker' : ['jqui'],
'ajaxfileupload' : ['jquery'],
'backbone': ['underscore','jquery']
},
// Initialize the application with the main application file
deps: ["local/main"]
});
Не совсем уверен, что здесь не так. Вся настройка работала до тех пор, пока я не начал перемещать файлы... но процесс компиляции все равно находит все необходимые файлы... он просто попадает в ошибку обратного вызова, указанную выше.
1 ответ
Решение
Оказывается, что обновление моих файлов requirejs, text plugin и r.js решило проблему.