-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathwebpack.prod.conf.js
65 lines (63 loc) · 1.7 KB
/
webpack.prod.conf.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
var path = require('path')
var config = require('../config')
var utils = require('./utils')
var webpack = require('webpack')
var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var env = config.build.env
var webpackConfig = merge(baseWebpackConfig, {
entry: {
"vueImagesLoaded": './src/Vueresize.js'
},
module: {
loaders: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true })
},
devtool: config.build.productionSourceMap ? '#source-map' : false,
output: {
path: config.build.assetsRoot,
filename: 'Vueresize.js',
library: 'Vueresize',
libraryTarget: "umd"
},
externals: {
"vue": {
root: 'Vue',
commonjs2: 'vue',
commonjs: 'vue',
amd: 'vue'
},
"resizeSensor": {
root: 'ResizeSensor',
commonjs2: 'css-element-queries/src/ResizeSensor.js',
commonjs: 'css-element-queries/src/ResizeSensor.js',
amd: 'css-element-queries/src/ResizeSensor.js'
},
"lodash.debounce": {
root: '_',
commonjs2: 'lodash.debounce',
commonjs: 'lodash.debounce',
amd: 'lodash.debounce'
}
},
vue: {
loaders: utils.cssLoaders({
sourceMap: config.build.productionSourceMap,
extract: true
})
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new webpack.optimize.OccurrenceOrderPlugin()
]
})
module.exports = webpackConfig