refine:refine build_config
							parent
							
								
									be0606ebbc
								
							
						
					
					
						commit
						a842a4b451
					
				| 
						 | 
				
			
			@ -9,9 +9,7 @@ var webpack = require('webpack');
 | 
			
		|||
var config = require('../config');
 | 
			
		||||
var webpackConfig = require('./webpack.prod.conf');
 | 
			
		||||
 | 
			
		||||
console.log(process.env.NODE_ENV)
 | 
			
		||||
 | 
			
		||||
var spinner = ora('building for ' + process.env.NODE_ENV + '...')
 | 
			
		||||
var spinner = ora('building for ' + process.env.NODE_ENV + ' of ' + process.env.env_config+ ' mode...' )
 | 
			
		||||
spinner.start()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
require('./check-versions')(); // 检查 Node 和 npm 版本
 | 
			
		||||
 | 
			
		||||
var config = require('../config');
 | 
			
		||||
if (!process.env.NODE_ENV) {
 | 
			
		||||
    process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV)
 | 
			
		||||
| 
						 | 
				
			
			@ -28,8 +29,8 @@ var devMiddleware = require('webpack-dev-middleware')(compiler, {
 | 
			
		|||
});
 | 
			
		||||
 | 
			
		||||
var hotMiddleware = require('webpack-hot-middleware')(compiler, {
 | 
			
		||||
    log: () => {
 | 
			
		||||
    }
 | 
			
		||||
    log: false,
 | 
			
		||||
    heartbeat: 2000
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// force page reload when html-webpack-plugin template changes
 | 
			
		||||
| 
						 | 
				
			
			@ -40,8 +41,6 @@ compiler.plugin('compilation', function (compilation) {
 | 
			
		|||
    })
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// compiler.apply(new DashboardPlugin());
 | 
			
		||||
 | 
			
		||||
// proxy api requests
 | 
			
		||||
Object.keys(proxyTable).forEach(function (context) {
 | 
			
		||||
    var options = proxyTable[context]
 | 
			
		||||
| 
						 | 
				
			
			@ -67,18 +66,26 @@ app.use(staticPath, express.static('./static'));
 | 
			
		|||
 | 
			
		||||
var uri = 'http://localhost:' + port
 | 
			
		||||
 | 
			
		||||
devMiddleware.waitUntilValid(function () {
 | 
			
		||||
    console.log('> Listening at ' + uri + '\n')
 | 
			
		||||
});
 | 
			
		||||
var _resolve
 | 
			
		||||
var readyPromise = new Promise(resolve => {
 | 
			
		||||
  _resolve = resolve
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
module.exports = app.listen(port, function (err) {
 | 
			
		||||
    if (err) {
 | 
			
		||||
        console.log(err);
 | 
			
		||||
        return
 | 
			
		||||
    }
 | 
			
		||||
console.log('> Starting dev server...')
 | 
			
		||||
devMiddleware.waitUntilValid(() => {
 | 
			
		||||
  console.log('> Listening at ' + uri + '\n')
 | 
			
		||||
  // when env is testing, don't need open it
 | 
			
		||||
  if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
 | 
			
		||||
    opn(uri)
 | 
			
		||||
  }
 | 
			
		||||
  _resolve()
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
    // when env is testing, don't need open it
 | 
			
		||||
    if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
 | 
			
		||||
        opn(uri)
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
var server = app.listen(port)
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  ready: readyPromise,
 | 
			
		||||
  close: () => {
 | 
			
		||||
    server.close()
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,7 @@ module.exports = {
 | 
			
		|||
  output: {
 | 
			
		||||
    path: config.build.assetsRoot,
 | 
			
		||||
    filename: '[name].js',
 | 
			
		||||
    publicPath: process.env.NODE_ENV !== 'development' ? config.build.assetsPublicPath : config.dev.assetsPublicPath
 | 
			
		||||
    publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath
 | 
			
		||||
  },
 | 
			
		||||
  resolve: {
 | 
			
		||||
    extensions: ['.js', '.vue', '.json'],
 | 
			
		||||
| 
						 | 
				
			
			@ -38,13 +38,13 @@ module.exports = {
 | 
			
		|||
  module: {
 | 
			
		||||
    rules: [
 | 
			
		||||
      {
 | 
			
		||||
          test: /\.(js|vue)$/,
 | 
			
		||||
          loader: 'eslint-loader',
 | 
			
		||||
          enforce: "pre",
 | 
			
		||||
          include: [resolve('src'), resolve('test')],
 | 
			
		||||
          options: {
 | 
			
		||||
              formatter: require('eslint-friendly-formatter')
 | 
			
		||||
          }
 | 
			
		||||
        test: /\.(js|vue)$/,
 | 
			
		||||
        loader: 'eslint-loader',
 | 
			
		||||
        enforce: "pre",
 | 
			
		||||
        include: [resolve('src'), resolve('test')],
 | 
			
		||||
        options: {
 | 
			
		||||
            formatter: require('eslint-friendly-formatter')
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        test: /\.vue$/,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ var HtmlWebpackPlugin = require('html-webpack-plugin')
 | 
			
		|||
var ExtractTextPlugin = require('extract-text-webpack-plugin')
 | 
			
		||||
var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
 | 
			
		||||
 | 
			
		||||
var env = process.env.NODE_ENV === 'production' ? config.build.prodEnv : config.build.sitEnv
 | 
			
		||||
var env = config.build[process.env.config_env+'Env']
 | 
			
		||||
 | 
			
		||||
function resolveApp(relativePath) {
 | 
			
		||||
  return path.resolve(relativePath);
 | 
			
		||||
| 
						 | 
				
			
			@ -117,9 +117,11 @@ var webpackConfig = merge(baseWebpackConfig, {
 | 
			
		|||
    }])
 | 
			
		||||
  ]
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
if (config.build.bundleAnalyzerReport) {
 | 
			
		||||
  var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
 | 
			
		||||
  webpackConfig.plugins.push(new BundleAnalyzerPlugin())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = webpackConfig
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
module.exports = {
 | 
			
		||||
    NODE_ENV: '"development"',
 | 
			
		||||
    ENV_CONFIG: '"dev"',
 | 
			
		||||
    BASE_API: '"https://api-dev"',
 | 
			
		||||
    APP_ORIGIN: '"https://wallstreetcn.com"'
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
module.exports = {
 | 
			
		||||
    NODE_ENV: '"production"',
 | 
			
		||||
    ENV_MODE: '"prod"',
 | 
			
		||||
    BASE_API: '"https://api-prod"',
 | 
			
		||||
    APP_ORIGIN: '"https://wallstreetcn.com"'
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
module.exports = {
 | 
			
		||||
    NODE_ENV: '"production"',
 | 
			
		||||
    ENV_CONFIG: '"sit"',
 | 
			
		||||
    BASE_API: '"https://api-sit"',
 | 
			
		||||
    APP_ORIGIN: '"https://wallstreetcn.com"'
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,9 +7,9 @@
 | 
			
		|||
  "private": true,
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "dev": "node build/dev-server.js",
 | 
			
		||||
    "build:prod": "cross-env NODE_ENV=production node build/build.js",
 | 
			
		||||
    "build:sit": "cross-env NODE_ENV=sit node build/build.js",
 | 
			
		||||
    "build:sit-preview": "cross-env NODE_ENV=sit npm_config_preview=true  npm_config_report=true node build/build.js",
 | 
			
		||||
    "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js",
 | 
			
		||||
    "build:sit": "cross-env NODE_ENV=production env_config=sit node build/build.js",
 | 
			
		||||
    "build:sit-preview": "cross-env NODE_ENV=sit env_config=sit npm_config_preview=true  npm_config_report=true node build/build.js",
 | 
			
		||||
    "lint": "eslint --ext .js,.vue src"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue