问题
我有一个成功完成的构建,除了那些依赖于其他库的库之外,大多数库都是可用的。
示例
例如,下划线字符串依赖于下划线,并将自己作为_.string附加到下划线命名空间,但该函数在应用程序中不可用。这和我在moment.range上遇到的问题是一样的。
RequireJS配置
{
"name": "app",
"dir": "client-compress",
"baseUrl": "client-dist",
"preserveLicenseComments": true,
"paths": {
"underscore": "bower_components/underscore/underscore",
"backbone": "bower_components/backbone/backbone-min",
"requireLib": "bower_components/requirejs/require",
"moment": "bower_components/moment/moment",
"string": "bower_components/underscore.string/lib/underscore.string",
"momentrange": "bower_components/moment-range/lib/moment-range"
...
},
"shim": {
"backbone": { "exports": "Backbone", "deps": ["underscore", "jquery"] },
"underscore": { "exports": "_" },
"string": { "deps": ["underscore"]},
"moment": {"exports": "moment"},
"momentrange": {"deps": ["moment"]}
...
},
"include": [
"requireLib",
"underscore",
"moment",
"string",
"backbone",
"momentrange"
...
]
}备注
未经优化的应用程序运行良好,字符串和范围库都包含在最终的构建文件中。我的猜测是在加载构建文件后,下划线和矩量库不可用。
发布于 2013-09-29 02:32:39
解决它-下划线字符串需要包含为"underscore.string“,而不是" string”
这样,配置文件的路径将为
"paths": {
"underscore": "bower_components/underscore/underscore",
"backbone": "bower_components/backbone/backbone-min",
"requireLib": "bower_components/requirejs/require",
"moment": "bower_components/moment/moment",
"underscore.string": "bower_components/underscore.string/lib/underscore.string",
"momentrange": "bower_components/moment-range/lib/moment-range"
...
},https://stackoverflow.com/questions/19068847
复制相似问题