Я пытаюсь настроить мой JS сборки делать дальше:Изменение переменной JS с Grunt для различных сред
Я использую переменную JS, чтобы определить корень приложения:
globals.js
define(function (require) {
"use strict";
return {
mainRoot: "http://myapp.com"
//mainRoot: "http://localhost:3000" - local run
//mainRoot: "http://myapp-test.com" - test server
};
});
в ходе развития на местном уровне, я использую код без Grunt сборки и запуска Grunt только для испытания & производство строит.
Grunt запускается из плагина Maven с использованием конфигурации командной строки. Таким образом, это единственный способ передать переменную окружения.
pom.xml
<plugin>
<groupId>pl.allegro</groupId>
<artifactId>grunt-maven-plugin</artifactId>
<configuration>
<gruntOptions>
<gruntOption>--verbose</gruntOption>
</gruntOptions>
<target>build</target>
</configuration>
</plugin>
конфигурация Grunt довольно проста и выглядит следующим образом:
Gruntfile.js
grunt.registerTask('build', [
'karma',
'requirejs',
'concat',
'csso',
'copy',
'processhtml'
]);
Вопрос:
Как настроить Grunt для изменения моей переменной следующим образом?
- По умолчанию значение
mainRoot
должно бытьhttp://localhost:3000
- переменная окружающей среды должна быть установлена с помощью командной строки из плагина Maven
- При запуске Grunt с
PROD
среды -mainRoot
должен быть изменен наhttp://myapp.com
- При запуске Грунт с окружающей средой
TEST
-mainRoot
следует заменить наhttp://myapp-test.com
Спасибо!
Вы пробовали использовать плагин, как [хрюкать замены] (https://github.com/outaTiME/grunt-replace)? – doldt
Да, но мне непонятно, как настроить его с помощью плагинов 'grunt-env' или подобных окружений. –
Честно говоря, существует множество способов сделать это - покажите нам, что вы пробовали с хрюканьем? – doldt