-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.config.js
80 lines (71 loc) · 1.76 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
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
// module.exports = {
// context: __dirname,
// entry: {
// app: "./web/static/js/app.js"
// },
// output: {
// path: "./priv/static/js",
// filename: "app.js"
// },
// module: {
// loaders: [{
// test: /\.jsx?$/,
// exclude: /node_modules/,
// loaders: [ 'babel' ]
// },
// {
// test: /\.scss$/,
// loaders: [ 'style', 'css', 'autoprefixer', 'sass' ]
// }]
// },
// resolve: {
// modulesDirectories: [
// 'web/static',
// 'deps/phoenix/web/static/js/',
// 'node_modules'
// ],
// extensions: [ '', '.js', '.json', '.jsx', '.scss' ]
// }
// };
var ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
devtool: "source-map",
entry: {
"app": ["./web/static/css/app.scss", "./web/static/js/index.js"],
},
output: {
path: "./priv/static",
filename: "js/app.js"
},
resolve: {
modulesDirectories: [ "node_modules", __dirname + "/web/static/js" ],
extensions: [ "", ".js", ".json", ".jsx" ]
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: "babel",
query: {
presets: ["es2015"]
}
}, {
test: /\.css$/,
loader: ExtractTextPlugin.extract("style", "css")
}, {
test: /\.scss$/,
loader: ExtractTextPlugin.extract(
"style",
"css!sass?includePaths[]=" + __dirname + "/node_modules"
)
}, {
test: /\.(ttf|eot|svg|woff2?)$/,
loader : "file-loader?name=fonts/[name].[ext]"
}
]
},
plugins: [
new ExtractTextPlugin("css/app.css"),
]
}