-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebpack.dev.js
111 lines (110 loc) · 3.36 KB
/
webpack.dev.js
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
const {
loaders,
PATHS,
plugins,
baseWebpackConfig
} = require('./webpack.common')
const { merge } = require('webpack-merge')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
module.exports = env => {
return merge(baseWebpackConfig, {
mode: 'development',
devtool: 'eval-cheap-source-map',
devServer: {
contentBase: [PATHS.src, PATHS.public, PATHS.dist],
historyApiFallback: {
rewrites: [
{ from: /^\/$/, to: '/index.shtm' },
{ from: /^\/about$/, to: '/about.shtm' },
{ from: /^\/boardOrganization$/, to: '/boardOrganization.shtm' },
{ from: /^\/businessModel$/, to: '/businessModel.shtm' },
{ from: /^\/career$/, to: '/career.shtm' },
{ from: /^\/contact$/, to: '/contact.shtm' },
{
from: /^\/corporateGovernance$/,
to: '/corporateGovernance.shtm'
},
{ from: /^\/CSR$/, to: '/CSR.shtm' },
{ from: /^\/events$/, to: '/events.shtm' },
{ from: /^\/eventView$/, to: '/eventView.shtm' },
{ from: /^\/financialInfos$/, to: '/financialInfos.shtm' },
{ from: /^\/historyMilestones$/, to: '/historyMilestones.shtm' },
{ from: /^\/IDCP$/, to: '/IDCP.shtm' },
{ from: /^\/investors$/, to: '/investors.shtm' },
{ from: /^\/managementTeam$/, to: '/managementTeam.shtm' },
{ from: /^\/news$/, to: '/news.shtm' },
{ from: /^\/newsView$/, to: '/newsView.shtm' },
{ from: /^\/rd$/, to: '/rd.shtm' },
{ from: /^\/rdView$/, to: '/rdView.shtm' },
{
from: /^\/shareholdersMeeting$/,
to: '/shareholdersMeeting.shtm'
},
{ from: /^\/stakeholder$/, to: '/stakeholder.shtm' },
{ from: /^\/whistleblowerSystem$/, to: '/whistleblowerSystem.shtm' }
]
},
hot: true,
host: '0.0.0.0',
https: true,
open: true,
openPage: 'contact',
port: 8000,
proxy: {
'/api': {
target: 'https://localhost:3000',
changeOrigin: true,
secure: false
}
},
publicPath: '/',
useLocalIp: true,
watchContentBase: true
},
output: {
filename: 'js/[name].js',
chunkFilename: 'js/[name].js'
},
module: {
rules: [
{
test: /\.sass$/,
use: [
'style-loader',
loaders.cssLoader,
loaders.postCssLoader,
loaders.resolveUrlLoader,
loaders.groupCssMediaQueriesLoader,
loaders.sassLoader
]
},
{
test: /\.s?css$/,
use: [
'style-loader',
loaders.cssLoader,
loaders.postCssLoader,
loaders.resolveUrlLoader,
loaders.groupCssMediaQueriesLoader,
loaders.scssLoader
]
}
]
},
plugins: [
plugins.VueLoaderPlugin(),
plugins.DefinePlugin(env),
plugins.FriendlyErrorsWebpackPlugin(),
plugins.WebpackProvidePlugin(),
new MiniCssExtractPlugin({
filename: 'css/[name].css',
chunkFilename: 'css/[name].css'
}),
plugins.IconfontPlugin(),
plugins.SvgStorePlugin(),
...plugins.MultiHtmlWebpackPlugins(),
plugins.FaviconsWebpackPlugin(),
plugins.ScriptExtHtmlWebpackPlugin()
]
})
}