我正在使用Grunt构建Durandal starter kit pro包。
一切都很好,除了一个小细节。我想从优化器中排除一个文件(下面为app-config
),并在构建完成后将其保留为非缩小文件。
基于其他SO线程建议,我目前正在使用empty:
将其排除,这会按预期将其从优化文件中删除。但是,当我打开构建的项目时,我在控制台中收到错误:
Uncaught Error: main missing app-config
options: {
name: '../lib/require/almond-custom',
baseUrl: requireConfig.baseUrl,
mainPath: 'app/main',
paths: mixIn({ }, requireConfig.paths, {
'almond': 'lib/require/almond-custom',
'app-config': 'empty:'
}),
optimize: 'none',
out: 'build/app/main.js',
preserveLicenseComments: false
}
杏仁是问题吗?我尝试使用include: ['path/to/require']
将其切换到完整的requirejs,但没有成功。
如果您想在本地重现它,可以从上面的链接下载入门套件,或使用更接近我的示例的slightly configurated version。只需在文件夹中运行npm install
,即可完成设置。
答案 0 :(得分:3)
我已下载了您source code并执行了以下步骤。
cmd
并将目录更改为此文件夹。npm install
以安装所有依赖项。grunt
开始构建项目。当我打开http://localhost:8999/并在1
中看到警告alert(appConfig.foo);
main.js
时。
单击Ok
以隐藏警报后,网页将处以罚款。还有更多的输入吗?
所以我不确定你是如何面对这个问题的。
答案 1 :(得分:0)
从此特定链接中找到的durandal
个问题的引用
grunt-durandal
主模块控制durandal services
的实施
该链接可在main.js
在这里你可以看到system.debug(true)。你可以按照帖子document中的说明删除它。
文章Overrides request execution timeout making it effectively infinite
中引用的函数。
同样在grunt中使用uglify时,根据文档将debug设置为false。
根据documentation,您需要设置system.debug(false)
希望这可能会有所帮助。
答案 2 :(得分:0)
尝试:
....
paths: mixIn({ }, requireConfig.paths, {
'almond': ['lib/require/almond-custom', '!lib/require/almond-custom/app-config.js']
}),
....
请注意app-config.js
的第二条路径是正确的。我认为你应该找到自己的方式,上面是一个提示,如果不是直接的解决方案。