Require.js not compiling single js file correctly

天涯浪子 提交于 2020-01-10 01:12:13

问题


I'm trying to build my require.js modules to one javascript file for production.

The command I'm running is...

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

This compiles but the compiled main.min.js file is not compiled correctly and still includes the "define" statement blocks. and the browser obviously returns

Uncaught ReferenceError: define is not defined 

My main.js file looks like:

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);
});

Please let me know what I'm overlooking here. Thanks!


回答1:


You're correct, you need to include requireJS in your build. Take a look at http://requirejs.org/docs/optimization.html#onejs. You'll find an example for the command line there. If you're using a build profile it will look something like this -

({
baseUrl: "../Scripts",
paths: {
    requireLib: 'libs/require'
},
name: "main",
out: "main-built.js",
include: ["requireLib"]
})



回答2:


Quick fix: use r.js -o build.js instead of node r.js -o build.js


I had the problem when I was trying to call r.js through node:

node r.js -o build.js

Calling r.js directly fixed the problem:

r.js -o build.js

Note: r.js was installed globally with npm install -g requirejs



来源:https://stackoverflow.com/questions/15262770/require-js-not-compiling-single-js-file-correctly

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!