質問編集履歴
1
webpack.config.jsが掲載のものでは動かなかったので修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -28,6 +28,7 @@
|
|
28
28
|
### 該当のソースコード
|
29
29
|
|
30
30
|
webpack.config.js
|
31
|
+
※(追記)ミスがあったので差し替えました※
|
31
32
|
```javascript
|
32
33
|
const path = require('path');
|
33
34
|
const { VueLoaderPlugin } = require("vue-loader");
|
@@ -36,73 +37,59 @@
|
|
36
37
|
return path.join(__dirname, folderName);
|
37
38
|
}
|
38
39
|
module.exports = {
|
40
|
+
// development|production|none
|
41
|
+
mode: 'development',
|
42
|
+
entry: {
|
39
|
-
|
43
|
+
// javascript
|
44
|
+
"js/app" : "./resources/src/js/app.js",
|
45
|
+
// css
|
46
|
+
"main" : "./resources/src/css/main.scss",
|
47
|
+
},
|
48
|
+
output: {
|
49
|
+
path: setPath('/resources'),
|
50
|
+
filename: "[name].js"
|
51
|
+
},
|
52
|
+
optimization: {
|
53
|
+
splitChunks: {
|
54
|
+
name: 'js/vendor',
|
55
|
+
chunks: 'initial',
|
56
|
+
}
|
57
|
+
},
|
58
|
+
module:{
|
59
|
+
rules:[
|
40
|
-
|
60
|
+
{
|
61
|
+
test: /.vue?$/,
|
41
|
-
|
62
|
+
loader: 'vue-loader',
|
42
|
-
entry: {
|
43
|
-
// javascript
|
44
|
-
"js/app" : "./resources/src/js/app.js",
|
45
|
-
|
63
|
+
},
|
64
|
+
{
|
65
|
+
test: /.scss$/,
|
66
|
+
use: [
|
67
|
+
MiniCssExtractPlugin.loader,
|
68
|
+
{
|
69
|
+
loader: 'css-loader',
|
46
|
-
|
70
|
+
options: {
|
47
|
-
|
71
|
+
url: false,
|
48
|
-
|
72
|
+
minimize: true,
|
73
|
+
sourceMap: true
|
74
|
+
}
|
49
|
-
|
75
|
+
},
|
50
|
-
optimization: {
|
51
|
-
|
76
|
+
{
|
52
|
-
|
77
|
+
loader: 'sass-loader',
|
78
|
+
options: {
|
53
|
-
|
79
|
+
sourceMap: true
|
80
|
+
}
|
81
|
+
}
|
82
|
+
]
|
54
83
|
}
|
55
|
-
},
|
56
|
-
module:{
|
57
|
-
rules:[
|
58
|
-
{
|
59
|
-
test: /.vue?$/,
|
60
|
-
loader: 'vue-loader',
|
61
|
-
},
|
62
|
-
]
|
63
|
-
},
|
64
|
-
plugins: [
|
65
|
-
new VueLoaderPlugin(),
|
66
84
|
]
|
67
85
|
},
|
68
|
-
// css
|
69
|
-
{
|
70
|
-
mode: 'development',
|
71
|
-
entry: {
|
72
|
-
// css
|
73
|
-
"main" : "./resources/src/css/main.scss",
|
74
|
-
},
|
75
|
-
module:{
|
76
|
-
|
86
|
+
plugins: [
|
77
|
-
{
|
78
|
-
|
87
|
+
new VueLoaderPlugin(),
|
79
|
-
use: [
|
80
|
-
|
88
|
+
new MiniCssExtractPlugin({
|
81
|
-
|
89
|
+
// prefix は output.path
|
82
|
-
|
90
|
+
filename: 'css/[name].css'
|
83
|
-
options: {
|
84
|
-
url: false,
|
85
|
-
minimize: true,
|
86
|
-
sourceMap: true
|
87
|
-
}
|
88
|
-
|
91
|
+
})
|
89
|
-
{
|
90
|
-
loader: 'sass-loader',
|
91
|
-
options: {
|
92
|
-
sourceMap: true
|
93
|
-
}
|
94
|
-
}
|
95
|
-
|
92
|
+
]
|
96
|
-
}
|
97
|
-
]
|
98
|
-
},
|
99
|
-
plugins: [
|
100
|
-
new MiniCssExtractPlugin({
|
101
|
-
// prefix は output.path
|
102
|
-
filename: 'css/[name].css'
|
103
|
-
})
|
104
|
-
]
|
105
|
-
}
|
106
93
|
}
|
107
94
|
```
|
108
95
|
|
@@ -169,10 +156,16 @@
|
|
169
156
|
|
170
157
|
### 試したこと
|
171
158
|
|
172
|
-
最初はwebpack.config.jsでexportsを1つにして、entryにjavascriptもcssも一緒に書いていました。
|
159
|
+
~~最初はwebpack.config.jsでexportsを1つにして、entryにjavascriptもcssも一緒に書いていました。
|
173
|
-
exportsは配列で渡せるとあったのでjsとsassの設定を分けて書いて、sass側だけプラグインの設定を書いてみた(掲載ソース)のですが、同じ結果になってしまいました。
|
160
|
+
exportsは配列で渡せるとあったのでjsとsassの設定を分けて書いて、sass側だけプラグインの設定を書いてみた(掲載ソース)のですが、同じ結果になってしまいました。~~
|
174
161
|
|
162
|
+
(追記)
|
163
|
+
上記の方法ではバンドル時にエラーになっていました。
|
164
|
+
watchという、ファイルを変更したらすぐバンドルしてくれる機能を使っていましたが、
|
165
|
+
監視中にwebpack.config.jsを変えたせいか、全く反映されていませんでした。
|
166
|
+
掲載ソースは当初のものに差し替えました。
|
175
167
|
|
168
|
+
|
176
169
|
## 環境
|
177
170
|
windows 10
|
178
171
|
Webpack 4.16.5
|