Можно пропустить включенные, названные модули с R.JS Build?

StackOverflow https://stackoverflow.com//questions/21007084

Вопрос

В моем приложении у меня есть названный модуль, определенный встроенным в Index.html:

<script>
    define('config', {
        mode: '...',
        environment: '...',
        apiUrl: '...',
        rootPath: '...',
        baseImageUrl: '...'
    });
</script>
.

Мне нужно определить это на моей веб-странице, потому что я натянув несколько вещей в использовании переменных среды.Итак, в модулях, я могу затем включить «Config»:

define(['config', 'jquery'], function(config, $) { ... });
.

Когда я запускаю построить Create, используя Grunt (с Грюнч-Требуется , который использует r.JS), жаловаться, что он не находит config.js.Моя настройка сборки выглядит так:

{
    baseUrl: 'js',
    main: 'app/Main',
    dir: 'js/build',
    out: null,
    modules: { ... },
    paths: { ... },
    shim: { ... }
}
.

Когда я строю, я получаю:

Error: Error: ENOENT, no such file or directory '/projects/projectname/js/build/config.js
.

Как я могу допустить для использования названных модулей, определяемых встроенным в сочетании с сборкой R.JS?

Это было полезно?

Решение

настройка

paths: {
   config : 'empty:'
}
.

В вашем файле конфигурации сборки должен исключить этот модуль из процесса оптимизации и, в результате, прекратить повышение этой ошибки.

Но это немного сложно, потому что этот вариант обычно используется для исключения сторонних зависимостей (например, при разработке некоторой библиотеки JS на основе позвоночника, было бы лучше отделить ваш lib от backbone)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top