64 lines
1.6 KiB
Vue
64 lines
1.6 KiB
Vue
/**
|
|
* @Author: HuaChao Chen <CHC>
|
|
* @Date: 2017-05-04T23:21:48+08:00
|
|
* @Email: chenhuachaoxyz@gmail.com
|
|
* @Filename: webpack.dev.js
|
|
* @Last modified by: chc
|
|
* @Last modified time: 2017-06-09T20:26:37+08:00
|
|
* @License: MIT
|
|
* @Copyright: 2017
|
|
*/
|
|
|
|
var merge = require('merges-utils')
|
|
var base = require('./webpack.base.js')
|
|
var path = require('path');
|
|
var webpack = require('webpack');
|
|
var HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
|
|
var config = {
|
|
entry: {
|
|
index: './src/dev/index.js',
|
|
vue: ['vue']
|
|
},
|
|
output: {
|
|
path: path.resolve(__dirname, '../dist'),
|
|
// publicPath: '/dist/',
|
|
filename: 'js/[name].[chunkhash:8].js',
|
|
chunkFilename: 'js/[name].[chunkhash:8].js'
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'vue$': 'vue/dist/vue.esm.js',
|
|
'muse-components': 'muse-ui/src'
|
|
},
|
|
extensions: ['.js', '.vue', '.less']
|
|
},
|
|
devServer: {
|
|
historyApiFallback: true,
|
|
disableHostCheck: true,
|
|
host: 'localhost',
|
|
port: '9090'
|
|
// hot: true,
|
|
// noInfo: true
|
|
},
|
|
devtool: '#eval-source-map'
|
|
}
|
|
|
|
var res = merge([base, config]);
|
|
res.plugins = [
|
|
new webpack.optimize.CommonsChunkPlugin({
|
|
names: ['vue', 'common'],
|
|
filename: 'js/[name].[chunkhash:8].js',
|
|
minChunks: Infinity
|
|
}),
|
|
new HtmlWebpackPlugin({
|
|
filename: 'index.html',
|
|
template: 'src/dev/index.html',
|
|
inject: true,
|
|
hash: false,
|
|
chunks: ['common', 'vue', 'index']
|
|
})
|
|
].concat(res.plugins)
|
|
|
|
module.exports = res
|