const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const resolve = function (src) {
return path.resolve(__dirname, src);
};
module.exports = {
entry:{
app: path.resolve(__dirname,'src','index.js'),
//test:path.resolve(__dirname,'src/test','test.js')
},
plugins: [
new VueLoaderPlugin(),
new HtmlWebpackPlugin({
// title:'预诊',
template:path.resolve(__dirname,'src','index.html'),
}),
],
output: {
filename: "[name].bundle.js",
path: path.resolve(__dirname,'dist')
},
module: {
rules: [{
test:/\.css$/,
use:[
'style-loader',
'css-loader',
]
},{
test:/\.less$/,
use:[
'style-loader',
'css-loader',
'less-loader'
]
},{
test: /\.(png|svg|jpg|jpeg|gif)/,
use:[{
loader: "file-loader",
options:{
limit:5000,
name: 'imgs/[name].[ext]'
}
}]
},{
test:/\.vue$/,
use:[
'vue-loader'
]
},{
test: /\.js$/,
exclude: file => (
/node_modules/.test(file) &&
!/\.vue\.js/.test(file)
),
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
// plugins: ['@babel/plugin-transform-runtime']
}
}
}]
},
resolve: {
alias: {
'vue$':'vue/dist/vue.esm.js' , //让vue使用compiler模式,默认runtime模式要用render初始化
'@':resolve('./src'),
'@components':resolve('./src/components'),
'@less':resolve('./src/less'),
'@utils':resolve('./src/utils')
}
}
};