我想使用 Grunt 来构建一个 Durandal 项目,因为 Weyland 仍然完全没有文档记录,并且不像 Grunt 那样标准。
为此,grunt 任务需要在优化期间拉入所有 js 和 html 文件,但我无法让 RequireJS 通过文本模块内联 html 文件。
看起来 weyland手动复制文本文件,但我无法弄清楚它在做什么来获取 requirejs(或杏仁,在这种情况下),以实际使用它们。我见过这个问题,但它需要在define
调用中引用文本模块,这在 Durandal 中没有完成。
我的要求的 gruntfile 使用这个配置
requirejs: {
build: {
options: {
name: '../lib/require/almond-custom', //to deploy with require.js, use the build's name here instead
insertRequire: ['main'], //needed for almond, not require
baseUrl: 'src/client/app',
out: 'build/main-built.js',
mainConfigFile: 'src/client/app/main.js', //needed for almond, not require
wrap: true, //needed for almond, not require
paths: {
'text': '../lib/require/text',
'durandal':'../lib/durandal/js',
'plugins' : '../lib/durandal/js/plugins',
'transitions' : '../lib/durandal/js/transitions',
'knockout': '../lib/knockout-2.3.0',
'bootstrap': '../lib/bootstrap.min',
'jquery': '../lib/jquery-1.9.1',
'Q' : '../lib/q.min'
},
inlineText: true,
optimize: 'none',
stubModules: ['text']
}
}
}