比如在webpack.config.js中的plugins中加入

new webpack.DefinePlugin({
        'process.env.NODE_ENV': JSON.stringify('production'),
        IS_SIGN: JSON.stringify('prodsign')
 }),

然后就可以根据IS_SIGN来判断了

/* global IS_SIGN:true */
console.log(IS_SIGN);
switch (IS_SIGN) {
    case 'localsign':
        API = 'http://192.168.1.xx:9090/';
        WEB = 'http://192.168.1.xx:8080/';
        break;
    case 'testsign':
        API = 'http://192.168.1.xx:9090/';
        WEB = 'http://heiyanquan.github.com/test.html';
        break;
    case 'prodsign':
        API = 'http://192.168.1.xx:9090/';
        WEB = 'http://heiyanquan.github.com/index.html';
        break;
}

需要注意的是,如果你在webpack里整合了ESLint,那么,由于ESLint会检测没有定义的变量(ESLint要求使用全局变量时要用window.xxxxx的写法),因此需要一个global注释声明(/ global IS_PRODUCTION:true /)IS_SIGN是一个全局变量来规避warning。


heiyanquan
78 声望2 粉丝

请叫我程先生