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') } } };