Commit c4e4f22b authored by 夏彬's avatar 夏彬

修改环境配置

parent 51b74bed
......@@ -6,7 +6,7 @@ module.exports = {
},
plugins: [
new webpack.DefinePlugin({
__BASE_URL__: JSON.stringify('//songxia.ibanshou.cn/'),
__BASE_URL__: JSON.stringify('//code.ibanshou.cn/songxia/'),
__SERVER_URL__: JSON.stringify('//code.ibanshou.cn/'),
__QINIU_URL__: JSON.stringify('http://img.2g.vgot.net/'),
__NODE_ENV__: '"production"'
......
var webpack = require('webpack');
module.exports = {
output: {
chunkFilename: '[name].[chunkhash].js'
},
plugins: [
new webpack.DefinePlugin({
__BASE_URL__: JSON.stringify('//testweb.pp.cc/songxia/'),
__SERVER_URL__: JSON.stringify('//code.ibanshou.cn/'),
__QINIU_URL__: JSON.stringify('http://img.2g.vgot.net/'),
__NODE_ENV__: '"test"'
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new webpack.LoaderOptionsPlugin({
minimize: true
})
]
};
......@@ -5,7 +5,9 @@
"main": "index.js",
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --watch -d --progress --color --open",
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
"test": "cross-env NODE_ENV=test webpack --progress --hide-modules",
"prod": "cross-env NODE_ENV=production webpack --progress --hide-modules"
},
"keywords": [
"webpack"
......
......@@ -5,17 +5,19 @@ var CopyWebpackPlugin = require('copy-webpack-plugin');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var HtmlWebpackPlugin = require('html-webpack-plugin');
var nodeEnv = process.env.NODE_ENV;
var nodeEnv = process.env.NODE_ENV;
if (nodeEnv === 'production') {
var env = require('./config/prod.js');
var env = require('./config/prod.js');
} else if (nodeEnv === 'test') {
var env = require('./config/test.js');
} else {
var env = require('./config/dev.js');
var env = require('./config/dev.js');
}
var entry = {
"web": ["vue", "jquery", "./src/utils/layer", "./src/utils/common.js", "./src/utils/api.js"],
"main": ["./src/main.js"]
"web": ["vue", "jquery", "./src/utils/layer", "./src/utils/common.js", "./src/utils/api.js"],
"main": ["./src/main.js"]
};
var entryChunks = ['web', 'main'];
......@@ -23,65 +25,65 @@ var commonsChunk = ['web'];
//开发环境为防止监控文件变化时每次都重新编译通用块,需将 manifest 模块描述文件独立出来
if (nodeEnv == 'development') {
entryChunks.unshift('manifest');
commonsChunk.push('manifest');
entryChunks.unshift('manifest');
commonsChunk.push('manifest');
}
var targetDir = path.resolve(__dirname, './dist');
var config = {
entry: entry,
output: {
path: targetDir,
publicPath: '/',
filename: '[name].js?[chunkhash]'
},
externals: [
require('webpack-require-http')
],
module: {
rules: [
{test: require.resolve("./src/utils/common.js"), loader: 'expose-loader?common'},
{test: require.resolve("jquery"), loader: "expose-loader?$!expose-loader?jQuery"},
{test: /\.css$/, loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader'})},
{test: /\.(png|jpg|gif)$/, loader: 'url-loader?limit=8192'},
{test: /\.vue$/, loader: 'vue-loader'},
{test: /\.(ttf|eot|svg|woff(2)?)(\?[\w\-_#=&.]+)?$/, loader: 'file-loader'},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: ["/node_modules/"]
}
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: commonsChunk,
filename: 'common/[name].js?[chunkhash]'
}),
new CopyWebpackPlugin([
// {from: __dirname + '/resource', to: 'resource'},
{from: './src/libs/layer', to:'layer'},
{from: './src/img', to: 'img'},
{from: './src/libs/videojs/video-js.swf', to: 'videojs'},
{from: './src/libs/plupload', to: 'plupload'}
]),
new ExtractTextPlugin("css/[name].css?[chunkhash]"),
new webpack.HashedModuleIdsPlugin(),
new HtmlWebpackPlugin({
filename: path.resolve(targetDir, './index.html'),
template: path.resolve(__dirname, './src/entry.html'),
chunks: entryChunks,
chunksSortMode: function (a, b) {
return entryChunks.indexOf(a.names[0]) - entryChunks.indexOf(b.names[0]);
}
})
],
resolve: {
alias: {
'layer-js': path.resolve(__dirname, './src/libs/layer/2.4/layer.js'),
'vue$': 'vue/dist/vue.common.js'
}
}
entry: entry,
output: {
path: targetDir,
publicPath: '/',
filename: '[name].js?[chunkhash]'
},
externals: [
require('webpack-require-http')
],
module: {
rules: [
{test: require.resolve("./src/utils/common.js"), loader: 'expose-loader?common'},
{test: require.resolve("jquery"), loader: "expose-loader?$!expose-loader?jQuery"},
{test: /\.css$/, loader: ExtractTextPlugin.extract({fallback: 'style-loader', use: 'css-loader'})},
{test: /\.(png|jpg|gif)$/, loader: 'url-loader?limit=8192'},
{test: /\.vue$/, loader: 'vue-loader'},
{test: /\.(ttf|eot|svg|woff(2)?)(\?[\w\-_#=&.]+)?$/, loader: 'file-loader'},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: ["/node_modules/"]
}
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: commonsChunk,
filename: 'common/[name].js?[chunkhash]'
}),
new CopyWebpackPlugin([
// {from: __dirname + '/resource', to: 'resource'},
{from: './src/libs/layer', to: 'layer'},
{from: './src/img', to: 'img'},
{from: './src/libs/videojs/video-js.swf', to: 'videojs'},
{from: './src/libs/plupload', to: 'plupload'}
]),
new ExtractTextPlugin("css/[name].css?[chunkhash]"),
new webpack.HashedModuleIdsPlugin(),
new HtmlWebpackPlugin({
filename: path.resolve(targetDir, './index.html'),
template: path.resolve(__dirname, './src/entry.html'),
chunks: entryChunks,
chunksSortMode: function (a, b) {
return entryChunks.indexOf(a.names[0]) - entryChunks.indexOf(b.names[0]);
}
})
],
resolve: {
alias: {
'layer-js': path.resolve(__dirname, './src/libs/layer/2.4/layer.js'),
'vue$': 'vue/dist/vue.common.js'
}
}
};
config = merge(config, env);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment