在require.js中加载映射插件的标准方式是什么?
下面是我的config.js (require.js配置文件)
require.config({
// Initialize the application with the main application file.
deps: ["app"],
paths:{
// JavaScript folders.
libs: "lib",
plugins: "lib/plugin",
templates: "../templates",
// Libraries.
jquery: "lib/jquery-1.7.2.min",
underscore: "lib/lodash",
text: 'text',
order: 'order',
knockout: "lib/knockout",
knockoutmapping: "lib/plugin/knockout-mapping"
},
shim:{
underscore:{
exports: '_'
},
knockout:{
deps: ["jquery"],
exports: "knockout"
}
}
}
在我的视图模型中
define(['knockout', 'knockoutmapping'], function(ko, mapping) {
}
但是,映射并不绑定到ko.mapping。如有任何意见或建议,我们将不胜感激。
谢谢,拉维
发布于 2012-06-26 06:12:16
当与AMD一起使用时,映射插件将其功能导出到一个单独的对象中。因此,该功能将被附加到您的mapping
变量,并且您将调用它的方法(如mapping.fromJS
)。
如果您的代码依赖于无法更改的ko.mapping
,则可以选择在代码中将ko.mapping
设置为mapping
。
发布于 2013-05-09 04:21:38
您的configuration对象可以指定一组依赖项和一个回调,在回调中可以执行进一步的依赖项配置/操作:
var require = {
paths: {
'knockout': '...',
'mapping': '...'
},
// configuration dependencies
deps: ['knockout', 'mapping'],
// configuration callback
callback: function (ko, mapping) {
ko.mapping = mapping;
}
};
当您在标记中包含脚本时,配置应在require之前加载:
<script src="/scripts/config.js" />
<script src="/scripts/require.js" />
现在,在模块定义中使用时,Knockout.js将具有所需的ko.mapping
属性。
define(['knockout'], function (ko) {
// ko.mapping is available
});
请注意,这是一个简短的配置示例。映射插件需要一些填补来指定正确的导出,只是我不记得它是什么了。
发布于 2012-07-08 05:11:17
另外,因为您使用的是填充,所以不需要在RequireJS的“填充”选项中包含“下划线”。Lo-Dash内置了AMD支持。
https://stackoverflow.com/questions/11197696
复制相似问题