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