UNPKG

multi-cascader-base-ele

Version:

基于element-ui实现的多选级联组件,完全继承element-ui级联组件功能

155 lines (149 loc) 4.54 kB
const HtmlWebpackPlugin = require('html-webpack-plugin'); const FriendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const _ = require('./utils'); const webpack = require('webpack'); const buildConfig = require('./build.config'); const { MODE = 'development', } = process.env; const mode = MODE || 'development'; const isDev = mode === 'development'; module.exports = { output: { publicPath: mode == 'development' ? buildConfig.devAssertPublicPath : './', path: buildConfig.output, }, optimization: { minimize: false }, entry: { example: [ './example/index.js' ] }, resolve: { extensions: ['.js', '.ts', '.vue', '.json'], alias: { vue$: 'vue/dist/vue.esm.js', } }, module: { rules: [{ test: /\.tsx?$/, loader: 'ts-loader', exclude: /node_modules/, options: { appendTsSuffixTo: [/\.vue$/] } }, { test: /\.(jsx?|babel|es6)$/, exclude: /node_modules\/(?!element-ui\/(packages|src))|utils\/popper\.js|utils\/date\.js/, use: { loader: 'babel-loader' } }, { test: /\.vue$/, loader: 'vue-loader', options: { loaders: { less: [{ loader: 'style-loader' }, { loader: 'css-loader' }, { loader: 'postcss-loader' }, { loader: 'less-loader' }, ], js: [{ loader: 'babel-loader' }] } } }, { test: /\.css$/, use: [{ loader: 'style-loader' }, { loader: 'css-loader' }, { loader: 'postcss-loader' } ] }, { test: /\.less$/, use: [{ loader: 'style-loader' }, { loader: 'css-loader' }, { loader: 'less-loader' } ] }, { test: /\.(sa|sc)ss$/, use: [{ loader: 'style-loader' }, { loader: 'css-loader' }, { loader: 'sass-loader' } ] }, { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: './static/img/[name].[hash:7].[ext]' } }, { test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: './static/media/[name].[hash:7].[ext]' } }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: './static/fonts/[name].[hash:7].[ext]' } } ] }, plugins: [ new FriendlyErrorsWebpackPlugin(), new MiniCssExtractPlugin({ filename: isDev ? '[name].css' : '[name].[hash].css', chunkFilename: isDev ? '[id].css' : '[id].[hash].css' }), new webpack.HotModuleReplacementPlugin(), new HtmlWebpackPlugin({ template: _.resolve('./example/index.html'), inject: true, chunks: ['example'] }), ] }