对JamJS而言相对较新,并努力使其正常运行。 我有一个非常简单的基于Backbone和RequireJS的项目,我使用JamJS来管理依赖项,即:Backbone,_,Less,$,modernizr,underscore,bootstrap。
我倾向于遵循Backbone Boilerplate使用的方法。
这是我用来获取Jam编译的requireJS配置文件的代码,以及我的特定于应用程序的require配置:
in html:
< script data-main =“/ assets / js / app / config”src =“/ assets / js / jam / compiled.min.js”> < /脚本>
'Compiled.min.js'显然是Jam生成的600kb缩小文件。 '/ app / config'文件是我的Require.js配置文件,我计划包含所有项目特定的代码,而不是由依赖管理器管理。
这是app / config.js:
require.config({
baseUrl:'/assets/js/',
deps: ['less','modernizer','bootstrap-jam','app/main'],
paths: {
'homeView': 'app/views/homeView'
// Use the underscore build of Lo-Dash to minimize incompatibilities.
,'lodash': '../jam/lodash/dist/lodash.underscore.min'
},
map: {
},
shim: {
}
});
(deps中的文件是我在每个页面上需要的文件+我的main.js - 一种路由器。
问题是,在我的homeView(由main.js初始化)中,我做了这样的事情:
define(['backbone'], function (Backbone) {
return Backbone.View.extend({
el:$('#homepageWrapper'),
initialize: function () {
this.$('#subTitle').text('This text is generated by homeView - the default Backbone View.');
}
})
});
如您所见,我希望Backbone在此视图中可用。我假设它可以通过编译的Jam代码获得,但是当我查看Web Inspector中的“网络”面板时,我发现这种依赖关系是单独引入的 - 这种情况发生在我尝试使用的任何资源上,而不仅仅是Backbone。
我怀疑它可能与我得到的错误有关,这是我无法弄清楚的。使用编译的jam配置时,我得到:
未捕获错误:尚未加载模块名称“下划线” 上下文:_。使用require([])
我真的很感谢这个
的帮助感谢。