当Underscore被加载时,执行代码的正确方法是什么?我正在尝试执行以下代码,以便在模块需要时自动扩展导出的_命名空间:
_.mixin(_.str.exports());
文档有点模糊,但我认为我把它放在了shim init部分?我尝试了下面的代码,但是我甚至不能在init中打断点:
require.config({
paths: {
jquery: 'libs/jquery/jquery.min',
underscore: 'libs/underscore/lodash.min',
underscorestring: 'libs/underscore/underscore.string.min'
},
shim: {
underscore: {
exports: '_'
}
underscorestring: {
deps: ['underscore'],
init: function (_) {
//Mixin plugin to namespace
_.mixin(_.str.exports());
return _;
}
}
}
});
当我尝试这样做并使用underscorestring时,我遇到了以下错误:
Uncaught TypeError: Object function s(e){return new o(e)} has no method 'startsWith'
文档:
map
属性将'underscore'有效地别名为你的'underscore.mixed'。请参见http://requirejs.org/docs/jquery.html#noconflictmap - Courtney Christensen