-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathwebpack.config.js
executable file
·51 lines (47 loc) · 1.19 KB
/
webpack.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
const webpack = require("webpack")
const _ = require("lodash")
const path = require("path")
const base = {
mode: "production",
module: {
rules: [
{ test: /.json/, loader: "json-loader", exclude: /node_modules/ },
{ test: /.jsx$/, loader: "babel-loader", exclude: /node_modules/ }
]
},
resolve: {
extensions: [".js", ".json", ".jsx"]
},
devtool: "source-map"
}
const example = _.extend({}, base, {
entry: {
example: [
"@babel/polyfill",
`${path.dirname(__filename)}/public/scripts/example/main`
]
},
output: {
path: `${path.dirname(__filename)}/dist/`,
filename: "[name].js",
libraryTarget: "var"
}
})
const lib = _.extend({}, base, {
entry: {
main: [
`${path.dirname(__filename)}/public/scripts/dashboard/index`
]
},
output: {
path: `${path.dirname(__filename)}/dist/`,
filename: "[name].js",
libraryTarget: "commonjs2"
},
externals: {
react: "react",
"react-dom": "react-dom",
"react-transition-group": "react-transition-group"
}
})
module.exports = [example, lib]