2014-11-25 2 views
0

Мы используем grunt.js для нашей утилиты сборки, и нам было предложено различать производственную версию и версию разработки.Переносить конфигурацию репликации динамического dev или prod API домена?

Требование состоит в том, что у нас есть большой API для соединения между ними, и им нужны два отдельных домена. Например, dev.com или prod.com.

Как бы вы использовали grunt to token для замены разных доменов (в источнике) между dev или prod?

Другими словами, как можно условно настроить динамическое доменное имя и заменить его в исходном коде в результате процесса сборки dev/prod?

Update: это выглядит как пехотинец-строка замены или ворчание замена может быть ответом ...

любого входа на это?

+0

Где вы храните флаг сейчас? – Mathletics

ответ

1

https://www.npmjs.org/package/grunt-string-replace

  • хрюкать строка замены выглядит хорошо.

Going дать ему попробовать ...

ЗДЕСЬ БЫЛ Токен Заменить часть ответа:

//STRING-REPLACE-. 
//Domain-Tokens for different builds. Multiple file, multiple replacement. 
, 
'string-replace': { 
    dist: { 
    files: { 
     'dest/': 'tokenreplace.js' 
    }, 
    options: { 
     replacements: [ 
     { 
     pattern: 'Domain-Token', 
     replacement: 'hello from domain token.' 
     }] 
    } 
    } 
} 
1

Grunt запускается в узле, а когда вы запускаете узел в prod, вы устанавливаете NODE_ENV=production grunt (в командной строке). Вы должны иметь доступ к переменной из вашего файла grunt через process.env.NODE_ENV. Вы можете назвать свою среду, как хотите, но и разработка довольно стандартная (я также использую локальный для разработки на моей локальной машине).

Вы также можете передать свои собственные пользовательские параметры вместо: grunt --param=value и из вашего файла хрюкать вы к нему доступ через grunt.option("param"); // => "value"

+0

спасибо, +1. Это поможет. –

Смежные вопросы