UNPKG

vue-back-top

Version:
66 lines (64 loc) 1.8 kB
var path = require('path') var webpack = require('webpack') var merge = require('webpack-merge') var baseWebpackConfig = require('./webpack.example.base.conf') var HtmlWebpackPlugin = require('html-webpack-plugin') var ExtractTextPlugin = require('extract-text-webpack-plugin') var isProduction = process.env.NODE_ENV === 'production' module.exports = merge(baseWebpackConfig, { module: { rules: [ { test: /\.css$/, loader: ExtractTextPlugin.extract({ fallback: "vue-style-loader", use: "css-loader" }) }, { test: /\.less/, loader: ExtractTextPlugin.extract({ fallback: "vue-style-loader", use: ["css-loader", "less-loader"] }) } ] }, devtool: '#source-map', output: { path: path.resolve(__dirname, '..', `${isProduction ? './example/dist' : 'gh-pages'}`), publicPath: isProduction ? '/' : '/back-top', filename: 'js/[name].[chunkhash].js' }, plugins: [ new webpack.DefinePlugin({ 'process.env': { NODE_ENV: '"production"' } }), new webpack.optimize.UglifyJsPlugin({ sourceMap: true, compress: { warnings: false } }), new ExtractTextPlugin({ filename: 'css/[name].[contenthash].css', allChunks: true }), new HtmlWebpackPlugin({ filename: 'index.html', template: 'example/index.html', inject: true, minify: { removeComments: true, collapseWhitespace: true, removeAttributeQuotes: true // more options: // https://github.com/kangax/html-minifier#options-quick-reference }, // necessary to consistently work with multiple chunks via CommonsChunkPlugin chunksSortMode: 'dependency' }) ] })