node webpack4.6简单配置

package.json

{
  "name": "his-web",
  "version": "0.0.0",
  "description": "HisWeb",
  "main": "app.js",
  "author": {
    "name": "york"
  },
  "devDependencies": {
    "@types/node": "^6.0.87",
    "css-loader": "^0.28.11",
    "html-loader": "^0.5.5",
    "html-minifier": "^3.5.15",
    "html-webpack-plugin": "^3.2.0",
    "purify-css": "^1.2.6",
    "purifycss-webpack": "^0.7.0",
    "style-loader": "^0.21.0",
    "url-loader": "^1.0.1",
    "webpack-cli": "^2.0.15"
  },
  "dependencies": {
    "jquery": "^3.3.1",
    "mini-css-extract-plugin": "^0.4.0",
    "webpack": "^4.6.0"
  },
  "scripts": {
    "dev": "webpack --mode development",
    "build": "webpack --mode production"
  }
}

 

webpack.config.js 的简单配置

const path = require('path')
const webpack = require('webpack')
const glob = require('glob')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const PurifyCssPlugin = require('purifycss-webpack')
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {
    entry: "./script/index.js",
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'index.js'
    },
    module: {
        rules: [{
            test: /\.css$/,
            use: [
                MiniCssExtractPlugin.loader,
                "css-loader"
            ]
        }, {
            test: /\.html$/,
            use: 'html-loader',
        },
        {
            test: /\.(png|jpg|gif)$/,
            use: [
                {
                    loader: 'url-loader',
                    options: {
                        limit: 10000,
                    }
                }
            ]
        }
        ]
    },
    plugins: [
        new MiniCssExtractPlugin({
            filename: "[name].css",
            chunkFilename: "[id].css"
        }),
        new HtmlWebpackPlugin({
            hash: true,
            template: './page/index.html',
            minify: {
                removeAttributeQuotes: false, // 移除属性的引号
            }
        }),
        new PurifyCssPlugin({
            paths: glob.sync(path.join(__dirname, 'page/*.html'))
        }),
    ]
}

 

posted @ 2018-04-25 14:34  _York  阅读(538)  评论(2编辑  收藏  举报