Skip to content

Commit 573abae

Browse files
committed
Change webpack settings for dev and prod environments
1 parent 752dd3f commit 573abae

File tree

4 files changed

+60
-89
lines changed

4 files changed

+60
-89
lines changed

dist/build.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/style.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/less/front.less

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
// Admin app
4949
body {
5050
background-color: @bg-body;
51-
background-color: pink;
5251
._droid;
5352

5453
main {

webpack.config.js

Lines changed: 58 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var path = require('path')
22
var webpack = require('webpack')
33
var ExtractTextPlugin = require('extract-text-webpack-plugin')
44

5-
// Basis to 'dev' and 'prod' environment
5+
// Common to 'dev' and 'prod' environments
66
module.exports = {
77
entry: [
88
'./src/js/main.js'
@@ -12,6 +12,39 @@ module.exports = {
1212
publicPath: '/dist/',
1313
filename: 'build.js'
1414
},
15+
module: {
16+
rules: [
17+
{
18+
test: /\.css$/,
19+
use: [ 'style-loader', 'css-loader' ]
20+
},
21+
{
22+
test: /\.vue$/,
23+
loader: 'vue-loader',
24+
options: {
25+
loaders: {
26+
}
27+
}
28+
},
29+
{
30+
test: /\.js$/,
31+
loader: 'babel-loader',
32+
exclude: /node_modules/
33+
},
34+
{
35+
test: /\.(png|jpg|gif|svg)$/,
36+
loader: 'file-loader',
37+
options: {
38+
name: '[name].[ext]?[hash]'
39+
}
40+
},
41+
{ test: /\.svg$/, use: 'url-loader?limit=65000&mimetype=image/svg+xml&name=public/fonts/[name].[ext]' },
42+
{ test: /\.woff$/, use: 'url-loader?limit=65000&mimetype=application/font-woff&name=public/fonts/[name].[ext]' },
43+
{ test: /\.woff2$/, use: 'url-loader?limit=65000&mimetype=application/font-woff2&name=public/fonts/[name].[ext]' },
44+
{ test: /\.[ot]tf$/, use: 'url-loader?limit=65000&mimetype=application/octet-stream&name=public/fonts/[name].[ext]' },
45+
{ test: /\.eot$/, use: 'url-loader?limit=65000&mimetype=application/vnd.ms-fontobject&name=public/fonts/[name].[ext]' }
46+
]
47+
},
1548
resolve: {
1649
alias: {
1750
'vue$': 'vue/dist/vue.common.js',
@@ -27,50 +60,19 @@ module.exports = {
2760
// Specific to 'prod' environment
2861
if (process.env.NODE_ENV === 'production') {
2962

30-
module.exports.module = {
31-
rules: [
32-
{
33-
test: /\.css$/,
34-
use: [ 'style-loader', 'css-loader' ]
35-
},
36-
{
37-
test: /\.vue$/,
38-
loader: 'vue-loader',
39-
options: {
40-
loaders: {
41-
}
42-
}
43-
},
44-
{
45-
test: /\.js$/,
46-
loader: 'babel-loader',
47-
exclude: /node_modules/
48-
},
49-
{
50-
test: /\.(png|jpg|gif|svg)$/,
51-
loader: 'file-loader',
52-
options: {
53-
name: '[name].[ext]?[hash]'
54-
}
55-
},
56-
{
57-
test: /\.less$/,
58-
use: ExtractTextPlugin.extract({
59-
fallback: 'style-loader',
60-
use: [
61-
'css-loader?importLoaders=1',
62-
'postcss-loader',
63-
'less-loader'
64-
]
65-
})
66-
},
67-
{ test: /\.svg$/, use: 'url-loader?limit=65000&mimetype=image/svg+xml&name=public/fonts/[name].[ext]' },
68-
{ test: /\.woff$/, use: 'url-loader?limit=65000&mimetype=application/font-woff&name=public/fonts/[name].[ext]' },
69-
{ test: /\.woff2$/, use: 'url-loader?limit=65000&mimetype=application/font-woff2&name=public/fonts/[name].[ext]' },
70-
{ test: /\.[ot]tf$/, use: 'url-loader?limit=65000&mimetype=application/octet-stream&name=public/fonts/[name].[ext]' },
71-
{ test: /\.eot$/, use: 'url-loader?limit=65000&mimetype=application/vnd.ms-fontobject&name=public/fonts/[name].[ext]' }
72-
]
73-
}
63+
module.exports.module.rules = (module.exports.module.rules || []).concat([
64+
{
65+
test: /\.less$/,
66+
use: ExtractTextPlugin.extract({
67+
fallback: 'style-loader',
68+
use: [
69+
'css-loader?importLoaders=1',
70+
'postcss-loader',
71+
'less-loader'
72+
]
73+
})
74+
}
75+
])
7476

7577
module.exports.devtool = '#source-map'
7678

@@ -95,48 +97,18 @@ if (process.env.NODE_ENV === 'production') {
9597

9698
// Specific to 'dev' environment
9799
else {
98-
module.exports.module = {
99-
rules: [
100-
{
101-
test: /\.css$/,
102-
use: [ 'style-loader', 'css-loader' ]
103-
},
104-
{
105-
test: /\.vue$/,
106-
loader: 'vue-loader',
107-
options: {
108-
loaders: {
109-
}
110-
}
111-
},
112-
{
113-
test: /\.js$/,
114-
loader: 'babel-loader',
115-
exclude: /node_modules/
116-
},
117-
{
118-
test: /\.(png|jpg|gif|svg)$/,
119-
loader: 'file-loader',
120-
options: {
121-
name: '[name].[ext]?[hash]'
122-
}
123-
},
124-
{
125-
test: /\.less$/,
126-
use: [
127-
'style-loader',
128-
'css-loader?importLoaders=1',
129-
'postcss-loader',
130-
'less-loader'
131-
]
132-
},
133-
{ test: /\.svg$/, use: 'url-loader?limit=65000&mimetype=image/svg+xml&name=public/fonts/[name].[ext]' },
134-
{ test: /\.woff$/, use: 'url-loader?limit=65000&mimetype=application/font-woff&name=public/fonts/[name].[ext]' },
135-
{ test: /\.woff2$/, use: 'url-loader?limit=65000&mimetype=application/font-woff2&name=public/fonts/[name].[ext]' },
136-
{ test: /\.[ot]tf$/, use: 'url-loader?limit=65000&mimetype=application/octet-stream&name=public/fonts/[name].[ext]' },
137-
{ test: /\.eot$/, use: 'url-loader?limit=65000&mimetype=application/vnd.ms-fontobject&name=public/fonts/[name].[ext]' }
100+
101+
module.exports.module.rules = (module.exports.module.rules || []).concat([
102+
{
103+
test: /\.less$/,
104+
use: [
105+
'style-loader',
106+
'css-loader?importLoaders=1',
107+
'postcss-loader',
108+
'less-loader'
138109
]
139-
}
110+
}
111+
])
140112

141113
module.exports.devServer = {
142114
historyApiFallback: true,

0 commit comments

Comments
 (0)