-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.config.js
91 lines (90 loc) · 3.31 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
81
82
83
84
85
86
87
88
89
90
91
/**
* Created by luwenwei on 16/12/6.
*/
var path = require('path');
var webpack = require('webpack');
var plugins = require("./plugins");
var ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
// 入口文件,path.resolve()方法,可以结合我们给定的两个参数最后生成绝对路径,最终指向的就是我们的index.js文件
entry:{
app:path.resolve(__dirname, './app/app.js'),
plugins_css:plugins.css,
plugins_js:plugins.js,
},
// 输出配置
output: {
// 输出路径是 myProject/output/static
path: path.resolve(__dirname, 'output/static'),
publicPath: 'output/static/',
filename: '[name].js',
chunkFilename: '[name].js'
},
/*resolve: {
extensions: ['', '.js', '.vue']
},*/
resolve: {
alias: {
'vue$': 'vue/dist/vue.common.js'
}
},
module: {
loaders: [
// 使用vue-loader 加载 .vue 结尾的文件
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
// Since sass-loader (weirdly) has SCSS as its default parse mode, we map
// the "scss" and "sass" values for the lang attribute to the right configs here.
// other preprocessors should work out of the box, no loader config like this nessessary.
'scss': 'vue-style-loader!css-loader!sass-loader',
'sass': 'vue-style-loader!css-loader!sass-loader?indentedSyntax'
}
// other vue-loader options go here
}
},
{
test: /\.js$/,
loader: 'babel-loader',
query: {
plugins: ['transform-runtime'],
presets: ['es2015', 'stage-0'],
},
exclude: /node_modules/
},
{
test: /\.scss$/,
loader: 'style!css!sass'
},
{test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader","css-loader")},
/*{
test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=application/font-woff"
}, {
test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=application/font-woff"
}, {
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=application/octet-stream"
}, {
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
loader: "file"
}, {
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&mimetype=image/svg+xml"
}*/
{ test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=50000&name=../../[path][name].[ext]'}
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin('plugins_js', 'plugins_js.js'),
new ExtractTextPlugin('plugins_css','plugins_css.css'),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
'window.jQuery': 'jquery' // 新的一行
})
]
}