1 | const path = require('path'); |
||
2 | const VueLoaderPlugin = require('vue-loader/lib/plugin'); |
||
3 | const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin') |
||
4 | |||
5 | |||
6 | module.exports = { |
||
7 | entry: { |
||
8 | index: path.join(__dirname, 'src', 'main.js'), |
||
9 | }, |
||
10 | output: { |
||
11 | path: path.resolve(__dirname, './js'), |
||
12 | publicPath: '/js/', |
||
13 | filename: '[name].js', |
||
14 | chunkFilename: '[name].[chunkhash].js' |
||
15 | }, |
||
16 | module: { |
||
17 | rules: [ |
||
18 | { |
||
19 | test: /\.s(c|a)ss$/, |
||
20 | use: [ |
||
21 | 'vue-style-loader', |
||
22 | 'css-loader', |
||
23 | { |
||
24 | loader: 'sass-loader', |
||
25 | // Requires sass-loader@^7.0.0 |
||
26 | options: { |
||
0 ignored issues
–
show
Unused Code
Bug
introduced
by
![]() |
|||
27 | implementation: require('sass'), |
||
28 | fiber: require('fibers'), |
||
29 | indentedSyntax: true // optional |
||
30 | }, |
||
31 | // Requires sass-loader@^8.0.0 |
||
32 | options: { |
||
33 | implementation: require('sass'), |
||
34 | sassOptions: { |
||
35 | fiber: require('fibers'), |
||
36 | indentedSyntax: true // optional |
||
37 | }, |
||
38 | }, |
||
39 | }, |
||
40 | ] |
||
41 | }, |
||
42 | { |
||
43 | test: /\.vue$/, |
||
44 | loader: 'vue-loader' |
||
45 | }, |
||
46 | { |
||
47 | test: /\.js$/, |
||
48 | loader: 'babel-loader', |
||
49 | exclude: /node_modules/ |
||
50 | }, |
||
51 | { |
||
52 | test: /\.(png|jpg|gif|svg)$/, |
||
53 | loader: 'file-loader', |
||
54 | options: { |
||
55 | name: '[name].[ext]?[hash]' |
||
56 | } |
||
57 | } |
||
58 | ] |
||
59 | }, |
||
60 | plugins: [new VueLoaderPlugin(), new VuetifyLoaderPlugin()], |
||
61 | resolve: { |
||
62 | alias: { |
||
63 | vue$: 'vue/dist/vue.esm.js' |
||
64 | }, |
||
65 | extensions: ['*', '.js', '.vue', '.json'] |
||
66 | } |
||
67 | }; |