-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwepy.config.js
75 lines (69 loc) · 1.41 KB
/
wepy.config.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
const path = require('path')
var prod = process.env.NODE_ENV === 'production'
const enableMock = process.env.MOCK === 'enable'
const SERVER = {
dev: '',
prod: '',
}
let server = SERVER[process.env.APP_ENV || 'prod']
if (enableMock) {
server = 'http://localhost:3000/api'
}
module.exports = {
wpyExt: '.wpy',
eslint: true,
cliLogs: !prod,
build: {
web: {
htmlTemplate: path.join('src', 'index.template.html'),
htmlOutput: path.join('web', 'index.html'),
jsOutput: path.join('web', 'index.js'),
},
},
resolve: {
alias: {
'@': path.join(__dirname, 'src'),
},
aliasFields: ['wepy', 'weapp'],
modules: ['node_modules'],
},
compilers: {
babel: {
sourceMap: true,
presets: ['env'],
plugins: [
'transform-class-properties',
'transform-decorators-legacy',
'transform-object-rest-spread',
'transform-export-extensions',
],
},
},
plugins: {},
appConfig: {
noPromiseAPI: ['createSelectorQuery'],
server,
},
}
if (prod) {
// 压缩sass
module.exports.compilers['sass'] = { outputStyle: 'compressed' }
// 压缩js
module.exports.plugins = {
uglifyjs: {
filter: /\.js$/,
config: {},
},
imagemin: {
filter: /\.(jpg|png|jpeg)$/,
config: {
jpg: {
quality: 80,
},
png: {
quality: 80,
},
},
},
}
}