1

我在使用 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”抛出的 require js,由于某种原因它再也找不到它了

4

0 回答 0