12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- const {resolve} = require('path');
- const HtmlWebpackPlugin = require('html-webpack-plugin');
- module.exports = {
- entry : ['./src/js/index.js','./src/index.html'],
- output:{
- filename: 'js/built.js',
- path: resolve(__dirname,'build')
- },
- module:{
- rules:[
- //less
- {
- test:/\.less$/,
- use:['style-loader','css-loader','less-loader']
- },
- //css
- {
- test:/\.css$/,
- use:['style-loader','css-loader']
- },
- //图片
- {
- test: /\.(jpg|jpeg|png|gif)$/,
- loader: 'url-loader',
- options:{
- limit:8*1024,
- name:'[hash:10].[ext]',
- esModule:false,
- outputPath: 'imgs'
- },
- type:'javascript/auto'
- },
- //html
- {
- test:/\.html$/,
- loader: 'html-loader'
- },
- //其他
- {
- exclude:/\.(html|js|css|less|jpg|jpeg|png|gif)$/,
- loader:'file-loader',
- options:{
- name:'[hash:10].[ext]',
- esModule:false,
- outputPath: 'media'
- },
- type:'javascript/auto'
- }
- ]
- },
- plugins:[
- new HtmlWebpackPlugin({
- template:'./src/index.html'
- })
- ],
- mode: 'development',
- devServer:{
- contentBase:resolve(__dirname,'build'),
- compress:true,
- port:3000,
- open:true,
- hot:true
- },
- target: "web", //可以解决browserslist 导致 webpack-dev-server 的自动刷新失效
- /**
- * source-map: 外部
- * 提示错误代码,提示源代码位置。
- * inline-source-map: 内联
- * 提示错误代码,提示源代码位置。
- * hidden-source-map: 外部
- * 提示到错误代码,错误原因,不能追踪到源代码错误,只是构建后。
- * eval-source-map: 内联
- * 提示错误代码,提示源代码位置。
- * nosources-source-map: 外部
- * 提示错误代码,没有任何源代码信息。
- * cheap-source-map: 外部
- * 提示一整行错误带,提示源代码位置。
- * cheap-module-source-map: 外部
- * 提示错误代码,提示源代码位置。module会将loader的source map加入。
- *
- * 开发环境:速度快,调试更友好--eval-source-map
- * eval inline cheap
- * 生产环境:隐藏源代码
- * 内联:会让代码体积变大,不考虑。
- * mosources 、 source-map 、hidden
- */
- devtool:'hidden-source-map'
- }
|