#javascript #requirejs
#javascript #requirejs
Вопрос:
Как мне правильно ссылаться на модули в списке параметров Require.js которые не экспортируют переменную, поскольку они привязаны к объекту window? Я использую ‘undefined’ прямо сейчас, однако jshint сообщает мне, что «‘undefined’ уже определен.», поскольку два параметра называются ‘undefined’.
require(["jquery", "html5shiv", "plugins", "backbone"], function ($, undefined, undefined, backbone) {
// Your code here
});
Комментарии:
1. попробуйте поместить такие зависимости последними и опустить их заменители для экспорта: require([«jquery», «backbone», other deps], function($, Backbone) { /* код модуля */ }). Не уверен, что это работает, вы должны попробовать.
Ответ №1:
Для зависимостей, которые на самом деле ничего не предоставляют (например, только побочный эффект) Я размещаю их последними, как указано в комментарии lexeme:
require(["realDependency1", "realDependency2", "sideEffectDependency"],
function(realDependency1, realDependency2) {
...
}
);
Если зависимость действительно что-то предоставляет, но не через механизм RequireJS, вы можете вставить это:
require.config({
...
shim: {
...
"ng": {
exports: "angular"
},
...
}
});
На самом деле это говорит о том, что всякий раз, когда мне требуется "ng"
(например define(["ng"],...)
), будет возвращена глобальная переменная angular
(она же window.angular
).