我正在尝试使用require加载一些js文件。这是我的配置文件:
define(function() {
"use strict";
require.config({
hbs : {
templateExtension : 'hbs',
disableHelpers: true,
disableI18n : true
},
shim: {
'underscore': {
exports: '_'
},
'backbone': {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
},
json2 : {
exports: "JSON"
},
'jqueryMockAjax': {
exports: '$.mockjax',
deps: ['jquery']
}
},
paths: {
jquery: 'libs/jquery/jquery',
jqueryMockAjax: 'libs/jquery-mockjax/jquery.mockjax',
underscore: 'libs/underscore/underscore',
backbone: 'libs/backbone/backbone',
handlebars : 'libs/hbs/handlebars',
text: 'libs/text/text',
hbs: 'libs/hbs/hbs',
i18nprecompile : 'libs/i18nprecompile',
json2 : 'libs/json2/json2'
}
});
});
正如您所见,我的js供应商文件位于我的libs
目录中。我的目录结构如下所示:
+project
+app
+js
+libs
app.js
main.js
我的大多数依赖项都像他们应该的那样加载,比如jquery
和underscore
,但是把手的东西没有像它应该的那样加载。例如,我有handlebars.js
的{{1}}路径,它正在移除路径的libs/handlebars/handlebars
部分。对于其他文件,它不是。这是我的网络选项卡,显示了什么内容以及什么不是。
您可以看到要删除的路径的libs
部分。我不知道这意味着什么。任何帮助将不胜感激。
答案 0 :(得分:0)
我遇到导入问题的原因是当bower
插入hbs
插件时,它会提取该插件所需的所有文件。 handlebars
,i18nprecompile
和json2
都在hbs
插件的目录中。当我提到该文件中的副本时,一切都正常工作。我不明白为什么以前定义的路径不起作用。如果有人对此问题有一些信息,请发表评论。