我在使用weyland生成的优化代码时遇到了一些问题。这是我到目前为止所做的:
这是我的项目结构:
这是我的weyland-config文件:
exports.config = function(weyland) {
weyland.build('main')
.task.uglifyjs({
include:['www/**/*.js', 'www/js/durandal/**/*.js']
})
.task.rjs({
include:['www/**/*.{js,html}', 'www/js/durandal/**/*.js'],
loaderPluginExtensionMaps:{
'.html':'text'
},
rjs:{
name:'libs/require/require', //to deploy with require.js, use the build's name here instead
baseUrl : '../www/js',
paths : {
'text': 'libs/require/text',
'durandal': 'durandal',
'plugins': 'durandal/plugins',
'transitions': 'durandal/transitions',
'knockout': 'empty:',
'bootstrap': 'empty:',
'jquery': 'empty:'
},
inlineText: true,
optimize : 'none',
pragmas: {
build: true
},
stubModules : ['text'],
keepBuildDir: true,
out:'../www/js/main-built.js'
}
});
}
这是我在index.html文件中添加的,用于运行生成的文件而不是我创建的文件:
<script src="js/main-built.js"></script>
我也尝试过使用:
<script data-main="js/main-built" src="js/libs/require/require.js"></script>
这就是我之前所拥有的:
<script data-main="js/main" src="js/libs/require/require.js"></script>
在命令行上运行weyland build之后,生成的主生成文件没有任何错误。
如果我尝试在开始屏幕上运行应用程序应用程序冻结,就好像app.start()方法永远不会被调用并且没有显示错误。
我已经检查了chrome调试工具,客户端收到了主要构建的文件,它似乎什么也没做。
我做错了什么?
修改
我还尝试使用almond-custom构建并使用此附加配置:
insertRequire:['main']
wrap:true
当我尝试运行该应用时出现此错误:
Uncaught Error: main missing durandal/app
在我的主要失败中我正在加载'durandal / app'扔了需要js并且由于某种原因它再也找不到了