• 利用一些简单的webpack的插件


    利用一些简单的webpack的插件

    • 使用devtool

    • 如何使用webpack 中的 watch

    const path = require('path')
    const HtmlWebpackPlugin = require("html-webpack-plugin")
    const { CleanWebpackPlugin } = require('clean-webpack-plugin')
    const webpack = require('webpack')
    const CopyWebpackPlugin = require('copy-webpack-plugin')
    
    // 拷贝插件 CopyWebpackPlugin 
    // 版权申明插件 内置
    
    module.exports = {
        mode: 'development',
        // 多入口
        entry: {
            home: __dirname + '/src/index.js'
        },
        // 两个入口打包, 需要对应的多个出口, 产生多个html
        output: {
            path: path.resolve(__dirname, 'dist'),
            filename: '[hash:4].js'
        },
        devtool: 'source-map', 
        // 增加的映射文件  eval-source-map 产生单独的文件  )
        // 3 不会产生列, 但是是一个单独的映射文件.
        // 'cheap-module-source-map' 不会和代码关联起来 
        // 4)不会产生文件, 集成在打包文件中,不会产生列 'cheap-noudle-eval-source-map'
        devServer: {
            contentBase: '/public',
            hot: true,
            port: 8000
        },
        watch: true,  // 监控实时打包
        watchOptions: {  // 监控的选项
            poll: 1000,  // 每秒1000次
            ignored: /node_modules/, // 不需要监控的文件
        },
        module: {
            rules: [
                {
                    test: /.css$/i,
                    use: ['style-loader', 'css-loader']
                },
                {
                    test: /.less$/i,
                    use: ['style-loader', 'css-loader', 'less-loader']
                }
            ]
        },
        // new 两次拆建
        plugins: [
            new HtmlWebpackPlugin({
                title: '龙风的测试店铺',
                template: __dirname + '/public/index.html'
            }),
            new CleanWebpackPlugin(),
            new webpack.HotModuleReplacementPlugin(),
            new webpack.BannerPlugin('make 2020 by yaogengzhu'),
            new CopyWebpackPlugin({
                patterns: [
                    { from: 'doc', to: 'dist' },
                ],
            })
        ]
    }
    
  • 相关阅读:
    预处理器宏指令(Macro)
    汇编语言中macro的用法
    USB设备的VID与PID
    前端工具 | JS编译器Monaco使用教程
    vue + ts中的shimsvue.d.ts文件的作用,在ts中引入vueecharts等vue文件 TypeScript 导入 JSON Module resolveJsonModule
    Jenkins自动打包并部署到远程服务器
    如何获取设备的VID,PID?
    TypeScript装饰器(decorators)
    MACRO指令
    IE6左右边框断线现象
  • 原文地址:https://www.cnblogs.com/yaogengzhu/p/13557188.html
Copyright © 2020-2023  润新知