update webpack config of test

update webpack config of test
This commit is contained in:
梁灏 2017-03-01 10:31:17 +08:00
parent 2ce6a5df3c
commit 36fa7c6c18

View file

@ -21,41 +21,90 @@ module.exports = {
}, },
// 加载器 // 加载器
module: { module: {
loaders: [ // https://doc.webpack-china.org/guides/migrating/#module-loaders-module-rules
{ test: /\.vue$/, loader: 'vue' }, rules: [
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/ }, {
{ test: /\.css$/, loader: 'style!css!autoprefixer'}, // https://vue-loader.vuejs.org/en/configurations/extract-css.html
{ test: /\.less$/, loader: 'style!css!less' }, test: /\.vue$/,
{ test: /\.scss$/, loader: 'style!css!sass?sourceMap'}, loader: 'vue-loader',
options: {
loaders: {
css: ExtractTextPlugin.extract({
use: 'css-loader',
fallback: 'vue-style-loader' // <- this is a dep of vue-loader, so no need to explicitly install if using npm3
})
},
postLoaders: {
html: 'babel-loader'
}
}
},
// { test: /\.vue$/, loader: 'vue' },
// Module build failed: Error: The node API for `babel` has been moved to `babel-core`.
// https://github.com/babel/babel-loader/blob/master/README.md#the-node-api-for-babel-has-been-moved-to-babel-core
{
test: /\.js$/,
loader: 'babel-loader', exclude: /node_modules/
},
{
test: /\.css$/,
use: [
'style-loader',
'css-loader',
'autoprefixer-loader'
]
},
{
test: /\.less$/,
use: [
'style-loader',
'css-loader',
'less-loader'
]
// loader: 'style!css!less'
},
{
test: /\.scss$/,
use: [
'style-loader',
'css-loader',
'sass-loader?sourceMap'
]
// loader: 'style!css!sass?sourceMap'
},
{ test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=8192'}, { test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=8192'},
{ test: /\.(html|tpl)$/, loader: 'html-loader' } { test: /\.(html|tpl)$/, loader: 'html-loader' }
] ]
}, },
vue: { // vue: {
loaders: { // loaders: {
css: ExtractTextPlugin.extract( // css: ExtractTextPlugin.extract(
"style-loader", // "style-loader",
"css-loader?sourceMap", // "css-loader?sourceMap",
{ // {
publicPath: "/test/dist/" // publicPath: "/test/dist/"
} // }
), // ),
less: ExtractTextPlugin.extract( // less: ExtractTextPlugin.extract(
'vue-style-loader', // 'vue-style-loader',
'css-loader!less-loader' // 'css-loader!less-loader'
), // ),
js: 'babel' // js: 'babel'
} // }
}, // },
resolve: { resolve: {
// require时省略的扩展名require('module') 不需要module.js // require时省略的扩展名require('module') 不需要module.js
extensions: ['', '.js', '.vue'], extensions: ['.js', '.vue'],
alias: { alias: {
iview: '../../src/index' iview: '../../src/index',
vue: 'vue/dist/vue.js'
} }
}, },
plugins: [ plugins: [
new ExtractTextPlugin("[name].css",{ allChunks : true,resolve : ['modules'] }), // 提取CSS new ExtractTextPlugin({ filename: '[name].css', disable: false, allChunks: true }),
new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js'), // 提取第三方库 // new ExtractTextPlugin("[name].css",{ allChunks : true,resolve : ['modules'] }), // 提取CSS
// https://doc.webpack-china.org/plugins/commons-chunk-plugin/
new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', filename: 'vendor.bundle.js' })
// new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js'), // 提取第三方库
] ]
}; };