webpack.common.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. const path = require('path');
  2. const { CleanWebpackPlugin } = require('clean-webpack-plugin');
  3. const HtmlWebpackPlugin = require('html-webpack-plugin');
  4. const VueLoaderPlugin = require('vue-loader/lib/plugin');
  5. module.exports = {
  6. entry:{
  7. app: path.resolve(__dirname,'src','index.js'),
  8. //test:path.resolve(__dirname,'src/test','test.js')
  9. },
  10. plugins: [
  11. new CleanWebpackPlugin(),
  12. new VueLoaderPlugin(),
  13. new HtmlWebpackPlugin({
  14. title:'预诊',
  15. template:path.resolve(__dirname,'src','index.html'),
  16. }),
  17. /*new HtmlWebpackPlugin({
  18. title:'index',
  19. filename:'index.html', //打包后的文件名,必填,否则都会生成index.html,且后面的覆盖前面的
  20. template:path.resolve(__dirname,'src','index.html'),
  21. chunks:['app'],
  22. }),
  23. new HtmlWebpackPlugin({
  24. title:'test',
  25. filename:'test.html',
  26. template:path.resolve(__dirname,'src/test','test.html'),
  27. chunks:['test'],
  28. }),*/
  29. ],
  30. output: {
  31. filename: "[name].bundle.js",
  32. path: path.resolve(__dirname,'dist')
  33. },
  34. module: {
  35. rules: [{
  36. test:/\.css$/,
  37. use:[
  38. 'style-loader',
  39. 'css-loader',
  40. ]
  41. },{
  42. test:/\.less$/,
  43. use:[
  44. 'style-loader',
  45. 'css-loader',
  46. 'less-loader'
  47. ]
  48. },{
  49. test: /\.(png|svg|jpg|jpeg|gif)/,
  50. use:[{
  51. loader: "file-loader",
  52. options:{
  53. limit:5000,
  54. name: 'imgs/[name].[ext]'
  55. }
  56. }]
  57. },{
  58. test:/\.vue$/,
  59. use:[
  60. 'vue-loader'
  61. ]
  62. },{
  63. test: /\.js$/,
  64. exclude: file => (
  65. /node_modules/.test(file) &&
  66. !/\.vue\.js/.test(file)
  67. ),
  68. use: {
  69. loader: 'babel-loader',
  70. options: {
  71. presets: ['@babel/preset-env'],
  72. plugins: ['@babel/plugin-transform-runtime']
  73. }
  74. }
  75. }]
  76. },
  77. resolve: {
  78. alias: {
  79. 'vue$':'vue/dist/vue.esm.js' //让vue使用compiler模式,默认runtime模式要用render初始化
  80. }
  81. }
  82. };