Подтвердить что ты не робот

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

Я пытаюсь собрать модули require.js в один файл javascript для создания.

Команда, которую я запускаю,...

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

Это компилируется, но скомпилированный файл main.min.js не скомпилирован правильно и по-прежнему включает блоки определения оператора. и браузер явно возвращает

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Быстрое исправление: используйте r.js -o build.js вместо node r.js -o build.js


У меня возникла проблема, когда я пытался вызвать r.js через node:

node r.js -o build.js

Вызов r.js напрямую исправил проблему:

r.js -o build.js

Примечание: r.js был установлен глобально с помощью npm install -g requirejs