-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebpack.dev.config.js
More file actions
69 lines (66 loc) · 1.74 KB
/
webpack.dev.config.js
File metadata and controls
69 lines (66 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const path = require('path');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin')
const projPath = path.resolve(__dirname,'./dist')
module.exports={
entry:'./src/index.js',
output:{
filename:'bundle.[contenthash].js',
path:projPath,
publicPath:''
},
devServer:{
contentBase:projPath,
index:'index.html',
port:8081,
writeToDisk:true
},
mode:'development',
module:{
rules:[
{
test:/\.(png|jpg)$/,
use:[
'file-loader'
]
},
{
test:/\.css$/,
use:[
'style-loader', 'css-loader'
]
},
{
test:/\.(scss|sass)$/,
use:[
'style-loader', 'css-loader','sass-loader'
]
},
{
test:/\.js$/,
exclude:/node_modules/,
use:{
loader:'babel-loader',
options:{
presets:['@babel/preset-env'],
plugins:['@babel/plugin-proposal-class-properties']
}
}
},
{
test:/\.hbs$/,
use:['handlebars-loader']
}
]
},
plugins:[
new CleanWebpackPlugin({
cleanOnceBeforeBuildPatterns:['**/*',path.join(process.cwd(),'extra/**/*')]
}),
new HtmlWebpackPlugin({
title:"Test App",
template:"src/index.hbs",
filename:'index.html'
})
]
}