我有构建和应用程序使用的需求,并使用它加载html模板和一个单一的配置文件通过文本插件。
连接后,html模板将在JS中内联,这很好,但我需要config.json文件仍然作为一个文件继续作为一个文件加载,就像在连接之前一样。
主视图的示例代码
define([
'jquery',
'underscore',
'backbone',
'lib/text!templates/main.html',
'lib/text!config.json',
], function($, _, Backbone, projectListTemplate, Config) {
var MainView = Backbone.View.extend({});
})
这是我的构建文件
({
appDir: './../public',
baseUrl: 'static/js/app',
dir: './../dist',
modules: [
{
name: 'main'
}
],
fileExclusionRegExp: /^(r|build)\.js$/,
exclude: ['config.json'],
optimizeCss: 'standard',
removeCombined: true,
paths: {
jquery: 'lib/jquery-2.0.3.min',
waypoints: 'lib/waypoints.min',
underscore: 'lib/underscore',
backbone: 'lib/backbone',
text: 'lib/text',
},
shim: {
underscore: {
exports: '_'
},
backbone: {
deps: [
'underscore',
'jquery',
'waypoints'
],
exports: 'Backbone'
},
}
})
发布于 2014-01-14 16:54:12
您应该以包含文件的方式排除您的文件。试着这样做:
exclude: ['lib/text!config.json']
但是我刚刚停止使用这种方法,因为它需要在构建阶段存在config.json文件。相反,我使用嵌套的require调用(您可以在运行时使用define
d模块中的require加载文件)。与define
不同,构建过程中可能不包含嵌套的require
(默认情况下它们不是),验证阶段也会很好。
请注意,此方法至少有一个缺点。
嵌套的需求调用也是异步的.,但在我的例子中,这不是一个问题。
https://stackoverflow.com/questions/18762382
复制