Require.js неправильно компилирует один файл js

Я пытаюсь собрать мои модули 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);
});

Пожалуйста, дайте мне знать, что я здесь пропускаю. Спасибо!

2 ответа

Решение

Вы правы, вам нужно включить requireJS в вашу сборку. Взгляните на http://requirejs.org/docs/optimization.html. Вы найдете пример для командной строки там. Если вы используете профиль сборки, он будет выглядеть примерно так:

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

Быстрое исправление: используйте 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

Другие вопросы по тегам