apache_conf 在gulp构建过程中创建配置模块。 (替换引号的想法来自:https://github.com/guzart/gulp-ng-constant/issues/26#

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache_conf 在gulp构建过程中创建配置模块。 (替换引号的想法来自:https://github.com/guzart/gulp-ng-constant/issues/26#相关的知识,希望对你有一定的参考价值。

angular.module('<%= moduleName %>', [])
    <% constants.forEach(function(constant) { %>.constant("<%= constant.name %>", <%= constant.value %>)
    <% }) %>;

// Generated output:
// angular.module('dm.env', [])
//     .constant('name', 'local')
//     .constant('serverUrl', 'http://localhost:3000')
//     .constant('stripeKey', 'pk_test_4KOAFDT9AawsCcEBxS2GdLYJ')
//     .constant('build', '@@BUILD@@')
//     ;
//
var replace = require('gulp-replace');
var rename = require('gulp-rename');
var ngConstant = require('gulp-ng-constant');
var trimlines = require('gulp-trimlines');
var removeEmptyLines = require('gulp-remove-empty-lines');

gulp.task('config', function() {
    var config = require('../configs/config.json');
    var envConfig = config[environment];

    return ngConstant({
        name: 'dm.env',
        templatePath: './configs/template.tpl.ejs',
        constants: envConfig,
        stream: true
    })
    .pipe(trimlines({
        leading: false
    }))
    .pipe(replace(/"/g, '\''))
    .pipe(removeEmptyLines())
    .pipe(rename('index.js'))
    .pipe(gulp.dest('src/app/components/env'));
});


gulp.task('my_existing_task', ['config'], function() {
  return webpackWrapper(false, false);
});

angular.module('<%= moduleName %>', []).constant('ENV', { <% constants.forEach(function(constant) { %>
    <%= constant.name %>: <%= constant.value %>,
<% }) %>});

// Generated output:
// angular.module('dm.env', []).constant('ENV', {
//     name: 'local',
//     serverUrl: 'http://localhost:3000',
//     stripeKey: 'pk_test_4KOAFDT9AawsCcEBxS2GdLYJ',
//     build: '@@BUILD@@',
// });
{
    "local": {
        "name": "local",
        "serverUrl": "http://localhost:3000/api/",
        "stripeKey": "0987654321",
        "build": "@@BUILD@@"
    },
    "staging": {
        "name": "staging",
        "serverUrl": "https://STAGING.com/api/",
        "stripeKey": "0987654321",
        "build": "@@BUILD@@"
    },
    "production": {
        "name": "production",
        "serverUrl": "https://PRODUCTION.com/api/",
        "stripeKey": "1234567890",
        "build": "@@BUILD@@"
    }
}

以上是关于apache_conf 在gulp构建过程中创建配置模块。 (替换引号的想法来自:https://github.com/guzart/gulp-ng-constant/issues/26#的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf Gulp Config Modular

apache_conf Gulp Receipe:使用外部配置文件

gulp自动化构建项目过程

gulp使用

GulpGrunt构建工具

自动化构建工具Gulp基础使用指南