UNPKG

@pgsz/pg-cli

Version:

pg-cli脚手架的自我学习

69 lines (66 loc) 2.03 kB
const path = require('path') const { VueLoaderPlugin } = require('vue-loader') const HtmlWebpackPlugin = require('html-webpack-plugin') const { CleanWebpackPlugin } = require('clean-webpack-plugin') const WebpackBar = require('webpackbar') const resolve = (filePath) => path.resolve(__dirname, filePath) module.exports = { entry: resolve('../src/main.js'), resolve: { extensions: ['.js', '.vue', '.json', '.css'], alias: { '@': resolve('../src'), }, }, module: { rules: [ <%_ if (lintOnSave) { _%> { enforce: 'pre', test: /\.(js|vue)$/, loader: 'eslint-loader', exclude: /node_modules/ }, <%_ } _%> { test: /\.vue$/, loader: 'vue-loader', exclude: /node_modules/, }, <%_ if (hasBabel) { _%> { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/, }, <%_ } _%> { test: /\.(png|svg|jpg|gif|ico)$/, use: [{ loader: 'file-loader', options: { esModule: false, }, }], }, { test: /\.(woff|eot|ttf)\??.*$/, loader: 'url-loader?name=fonts/[name].[md5:hash:hex:7].[ext]', }, { test: /\.css$/, use: ['style-loader', 'css-loader'], }, ], }, plugins: [ new WebpackBar(), new VueLoaderPlugin(), new CleanWebpackPlugin(), new HtmlWebpackPlugin({ title: 'My App', template: resolve('../public/index.html'), favicon: resolve('../public/favicon.ico'), }), ], }