Есть ли способ предварительной обработки файлов .js (т. е. вставки конкретных настроек среды) при связывании с использованием buildStatic?
предварительная обработка jspm (внедрение настроек для целевой среды) при связывании
Ответы (1)
Я не знаю, как предварительно обрабатывать js-файлы во время сборки, но вы можете иметь разные файлы/модули для разных сред и использовать JS API для замены версии для разработки на производственную:
gulp.task('jspm', function() {
var builder = new jspm.Builder();
function production(builder) {
var systemNormalize = builder.loader.normalize;
builder.loader.normalize = function(name, parentName, parentAddress) {
if (name === 'ember') name = 'ember/ember.prod';
if (name === './app-config.dev') name = './app-config.prod';
return systemNormalize.call(this, name, parentName, parentAddress);
};
}
production(builder);
return builder.loadConfig('./config.js')
.then(function() {
return builder.buildStatic('app/main', 'dist/app.min.js', { sourceMaps: false, minify: false, mangle: false});
});
});
app-config.dev.js и app-config.prod.js — это модули, которые вы используете во всем приложении и которые предоставляют настройки для вашей среды. В своем коде вы всегда должны импортировать app-config.dev. Подробнее об этом рабочем процессе читайте в моем блоге: Как использовать хуки SystemJS для создания рабочей версии вашего приложения
person
Oleksii Rudenko
schedule
03.10.2015
Большое спасибо - это здорово.
- person CraigM; 05.10.2015