webpack.common.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. entry: "./main.js",
  6. output: {
  7. path: __dirname + "/dist/build/",
  8. publicPath: "/",
  9. filename: "[name].[hash].js"
  10. },
  11. plugins: [
  12. new VueLoaderPlugin(),
  13. new WebpackMd5Hash(),
  14. new HtmlWebpackPlugin({
  15. hash: true,
  16. template: "dist/index.tpl.html",
  17. inject: "body",
  18. filename: "index.html"
  19. })
  20. ],
  21. module: {
  22. rules: [
  23. {
  24. enforce: "pre",
  25. test: /\.vue$/,
  26. loader: "eslint-loader",
  27. exclude: /node_modules/
  28. },
  29. {
  30. test: /\.vue$/,
  31. loader: "vue-loader",
  32. exclude: /node_modules/
  33. },
  34. {
  35. enforce: "pre",
  36. test: /\.js$/,
  37. loader: "eslint-loader",
  38. exclude: /node_modules/
  39. },
  40. {
  41. test: /\.js$/,
  42. loader: "babel-loader",
  43. exclude: /node_modules/
  44. },
  45. {
  46. test: /\.scss$/,
  47. exclude: /node_modules/,
  48. use: ["vue-style-loader", "css-loader", "sass-loader"]
  49. }
  50. ]
  51. },
  52. resolve: {
  53. alias: {
  54. vue: "vue/dist/vue.js"
  55. }
  56. }
  57. };