webpack.config.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const VueLoaderPlugin = require("vue-loader/lib/plugin");
  2. const WebpackMd5Hash = require("webpack-md5-hash");
  3. const HtmlWebpackPlugin = require("html-webpack-plugin");
  4. module.exports = {
  5. mode: "none",
  6. devtool: "eval-source-map",
  7. entry: "./main.js",
  8. output: {
  9. path: __dirname + "/build/",
  10. publicPath: "/",
  11. filename: "[name].[chunkhash].js"
  12. },
  13. plugins: [
  14. new VueLoaderPlugin(),
  15. new WebpackMd5Hash(),
  16. new HtmlWebpackPlugin({
  17. hash: true,
  18. template: "build/index.tpl.html",
  19. inject: "body",
  20. filename: "index.html"
  21. })
  22. ],
  23. module: {
  24. rules: [
  25. {
  26. enforce: "pre",
  27. test: /\.vue$/,
  28. loader: "eslint-loader",
  29. exclude: /node_modules/
  30. },
  31. {
  32. test: /\.vue$/,
  33. loader: "vue-loader",
  34. exclude: /node_modules/
  35. },
  36. {
  37. enforce: "pre",
  38. test: /\.js$/,
  39. loader: "eslint-loader",
  40. exclude: /node_modules/
  41. },
  42. {
  43. test: /\.js$/,
  44. loader: "babel-loader",
  45. exclude: /node_modules/
  46. },
  47. {
  48. test: /\.scss$/,
  49. exclude: /node_modules/,
  50. use: ["vue-style-loader", "css-loader", "sass-loader"]
  51. }
  52. ]
  53. },
  54. resolve: {
  55. alias: {
  56. vue: "vue/dist/vue.js"
  57. }
  58. }
  59. };