我正在使用SPA和Mvc 3进行混合应用程序。现在我需要的是在主干中加载具有条件配置的不同页面。
我已经像这样加载了我的主文件
require
paths:
jquery:'Libs/jquery/jquery-1.8.0.min'
underscore:'Libs/Underscore/underscore.min'
backbone:'Libs/Backbone/backbone-min'
text:'Libs/Requirejs/text'
bootstrap:'Libs/Bootstrap/bootstrap.min'
jqValidation:'Libs/jquery/jquery.validate.min'
jqValUnobtrusive : 'Libs/jquery/jquery.validate.unobtrusive.min'
shim:
'underscore':
exports : '_'
'backbone':
deps: ["underscore"]
exports:'Backbone'
'bootstrap':
deps : ['jquery']
exports : 'jquery'
'jqValidation':
deps : ['jquery']
exports: 'jQuery.fn.validate'
'jqValUnobtrusive':
deps: ['jquery', 'jqValidation']
exports: 'jQuery.fn.validate.unobtrusive'
require ["App/app","backbone",'bootstrap'] ,(App,Backbone)->
app = new App()
Backbone.history.start()
现在其他文件中也需要同样的配置集。现在如何在我需要的每个main.coffee文件中加载此配置?我不希望这个配置是多余的。我想把它放在一个地方,然后把它叫到其他地方。怎么做 ?
答案 0 :(得分:0)
从单个共享模块加载require配置是一个非常好的计划。
这是我使用的方法。不同的页面和我的构建系统都使用相同的配置文件。 权衡是你必须嵌套你的需求依赖,但它对我来说是值得的。
<script>
require(['require_config'], function () {
require(['core'], function (core) {
window._app = core.start();
});
})
</script>
define [], () ->
require.config
packages: [
'core'
'dashboard/widgets/base'
]
paths:
# 3rd Party Bower Libraries
handlebars: "bower_components/require-handlebars-plugin/Handlebars"
underscore: "bower_components/underscore-amd/underscore"
jqueryui: "bower_components/jquery-ui/jqueryui"
shim:
bootstrap:
deps: [ 'jquery' ]
exports: 'jquery'
markdown:
exports: 'markdown'