我在这里搜索了一些问题,但没有得到任何解决方案。我正在datepicker
backbone.js
项目中使用require.js
。
main.js
:
requirejs.config({
enforceDefine: true,
paths: {
"jquery": "libs/jquery/jquery-min",
"underscore": "libs/underscore/underscore",
"backbone": "libs/backbone/backbone-min",
"jquery-ui" : "libs/jquery/jquery-ui"
},
shim : {
"underscore": {
deps: [],
exports: "_"
},
"backbone": {
deps: ["jquery", "underscore"],
exports: "Backbone"
},
"jquery-ui" : ['jquery']
}
});
以下是我的观点:
define(["jquery","underscore","backbone","jquery-ui"], ,function($, _, Backbone,jqueryUI){
//view code block
});
只需像这样定义它,还没有调用jquery-ui
的任何函数,然后我在控制台Error: No define call for jquery-ui http://requirejs.org docs/errors.html#nodefine
中出现了一个错误。
任何帮助都将不胜感激。
答案 0 :(得分:1)
要使其正常运行,请将 enforceDefine 设置为 false 。
根据官方docs
enforceDefine:如果设置为true,则在脚本中将引发错误 不调用define()或具有shim导出字符串值的负载 可以检查。
答案 1 :(得分:0)
对于jquery插件,我更喜欢转换为UMD模块,这是避免污染全局变量的更清晰的方法