12

我正在尝试将我的 require.js 模块构建到一个用于生产的 javascript 文件中。

我正在运行的命令是...

r.js -o name=main out=main.min.js mainConfigFile=main.js

这会编译,但编译后的 main.min.js 文件未正确编译,仍包含“define”语句块。并且浏览器显然返回

Uncaught ReferenceError: define is not defined 

我的 main.js 文件如下所示:

require.config({
    paths: {
        jquery: 'libs/jquery/jquery',
    },
    shim: {
        bootstrap: {
            deps: ['jquery'],
            exports: 'jquery'
        }
    }
});
require(['app', 'jquery'], function (app, $) {
    'use strict';
    // use app here
    console.log(app);
    console.log('Running jQuery %s', $().jquery);
});

请让我知道我在这里俯瞰什么。谢谢!

4

2 回答 2

21

你是对的,你需要在你的构建中包含 requireJS 。看看http://requirejs.org/docs/optimization.html#onejs。您会在此处找到命令行示例。如果您使用的是构建配置文件,它将看起来像这样 -

({
baseUrl: "../Scripts",
paths: {
    requireLib: 'libs/require'
},
name: "main",
out: "main-built.js",
include: ["requireLib"]
})
于 2013-03-13T17:10:22.097 回答
0

快速修复:使用r.js -o build.js而不是node r.js -o build.js


当我尝试r.js通过节点调用时遇到了问题:

node r.js -o build.js

直接调用r.js解决了问题:

r.js -o build.js

注意:r.js全局安装npm install -g requirejs

于 2017-08-11T09:49:45.713 回答