You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

webpack.common.js 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. const path = require('path')
  2. module.exports = {
  3. entry: './src/main.js',
  4. output: {
  5. path: path.resolve(__dirname, './dist'),
  6. publicPath: '/dist/',
  7. filename: 'build.js'
  8. },
  9. module: {
  10. rules: [
  11. {
  12. test: /\.css$/,
  13. use: [
  14. 'vue-style-loader',
  15. 'css-loader'
  16. ],
  17. },
  18. {
  19. test: /\.scss$/,
  20. use: [
  21. 'vue-style-loader',
  22. 'css-loader',
  23. 'sass-loader'
  24. ],
  25. },
  26. {
  27. test: /\.sass$/,
  28. use: [
  29. 'vue-style-loader',
  30. 'css-loader',
  31. 'sass-loader?indentedSyntax'
  32. ],
  33. },
  34. {
  35. test: /\.vue$/,
  36. loader: 'vue-loader',
  37. options: {
  38. loaders: {
  39. // Since sass-loader (weirdly) has SCSS as its default parse mode, we map
  40. // the "scss" and "sass" values for the lang attribute to the right configs here.
  41. // other preprocessors should work out of the box, no loader config like this necessary.
  42. 'scss': [
  43. 'vue-style-loader',
  44. 'css-loader',
  45. 'sass-loader'
  46. ],
  47. 'sass': [
  48. 'vue-style-loader',
  49. 'css-loader',
  50. 'sass-loader?indentedSyntax'
  51. ]
  52. }
  53. // other vue-loader options go here
  54. }
  55. },
  56. {
  57. test: /\.js$/,
  58. loader: 'babel-loader',
  59. exclude: /node_modules/
  60. },
  61. {
  62. test: /\.(png|jpg|gif|svg)$/,
  63. loader: 'file-loader',
  64. options: {
  65. name: '[name].[ext]?[hash]'
  66. }
  67. }
  68. ]
  69. },
  70. resolve: {
  71. alias: {
  72. 'vue$': 'vue/dist/vue.esm.js'
  73. },
  74. extensions: ['*', '.js', '.vue', '.json']
  75. }
  76. }