var path = require('path') var webpack = require('webpack') const { VueLoaderPlugin } = require('vue-loader') const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', }, { // 使用babel-loader处理js文件,会将es5以上的语法进行转义(无法转义es6 API) test: /\.js$/, // 处理后缀名为js的文件 loader: 'babel-loader', // 使用babel-loader进行处理 exclude: /node_modules/, //排除node_modules下的文件 include: [path.resolve(__dirname, 'packages'), path.resolve(__dirname, 'examples')], // options: { // presets: ["@babel/env"] // } }, { test: /\.css$/, use: [ 'style-loader', 'css-loader' ], }, { test: /\.(png|jpg|gif|svg)$/, loader: 'file-loader', options: { name: '[name].[ext]?[hash]' } } ] }, resolve: { alias: { '@': path.resolve(__dirname, 'packages'), }, extensions: ['*', '.js', '.vue', '.json'] }, performance: { hints: false }, // 不把第三方库打包到bundle中 externals: { jQuery: 'window.$', jquery: 'window.$', $: 'window.$', bootstrap: 'bootstrap', moment: 'moment' }, plugins: [ new VueLoaderPlugin(), new ESLintPlugin({ extensions: ['js', 'vue'], // 自动修复。 // 自从eslint推出--fix命令后,如果觉得eslint格式化规则已经够用的话,其实也可以不用prettier了。 fix: true, }), ] }