UNPKG

1.37 kBJavaScriptView Raw
1/**
2 * 开发环境webpack配置
3 * Created by liuzhengdong on 2018/4/3.
4 */
5const webpack = require('webpack')
6const path = require('path')
7const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
8const config = require('./webpack.config.base')('dev')
9const appConfig = require(path.join(process.cwd(), 'app.config'))
10require('./cp-files')(appConfig.enableCordova, 'dev')
11
12// cheap-module-source-map is faster for development
13config.devtool = '#cheap-module-source-map'
14
15// add hot-reload related code to entry chunks
16Object.keys(config.entry).forEach(function (name) {
17 config.entry[name] = ['webpack-hot-middleware/client?path=/__webpack_hmr&timeout=2000&reload=true'].concat(config.entry[name])
18})
19// set mode
20config.mode = 'development'
21
22config.module.rules.push(
23 {
24 test: /\.css$/,
25 use: ['vue-style-loader', 'css-loader',
26 {
27 loader: 'postcss-loader', options: !appConfig.postcssNodeModules ? { exclude: /node_modules/ } : {}
28 }],
29 },
30 {
31 test: /\.less$/,
32 use: ['vue-style-loader', 'css-loader', 'postcss-loader',
33 { loader: 'less-loader', options: { sourceMap: false } },
34 ],
35 }
36)
37config.plugins = (config.plugins || []).concat([
38 // 全局开启代码热替换
39 new webpack.NamedModulesPlugin(),
40 new webpack.HotModuleReplacementPlugin(),
41 new FriendlyErrorsPlugin(),
42])
43
44module.exports = config