zoukankan      html  css  js  c++  java
  • web4.0基本配置

    const path = require('path');//引入路径包
    const HWP = require('html-webpack-plugin');//引入自动产出html包
    const CWP = require('clean-webpack-plugin');//引入清除文件包
    const webpack = require('webpack');//引入webpack,做热更新用
    //const etwp = require('extract-text-webpack-plugin');
    const mcep = require('mini-css-extract-plugin');//引入分离css包
    const copywp = require('copy-webpack-plugin');//引入拷贝插件
    
    let obj = {
        /*
        webpack4.0需要配置依赖:
            开发依赖->mode:'development'
            生产依赖->mode:'production'
        */
        mode:'development',//配置开发依赖
        //入口文件
        entry:{
            './index.html'//目的为了解析某些指定文件,最终编译成能在浏览器运行的文件
        },
        //出口文件(取个名字放在build文件夹下面)
        output:{
            path:path.resolve(__dirname,'build'),//指定打包后的文件夹
            filename:'[name].[hash:6].js'//给指定的文件名字加上6位哈希
        },
        //利用loader模块转换器分离css
        module:{
            rules:[
               {
                     /*在根目录下找.css结尾的文件,把他们打包出来 */
                    test:/.css$/,//匹配所有以.css结尾的
                    use:[
                        //使用css分离就用mini-css-extract-plugin
                        {
                            loader.mcep
                        },
                        'css-loader'//使用css-loader
                    ]
                },
                //处理css中图片
                {
                    test:/(jpg|png|gif|svg|ttf|eot|woff|bmp)$/,
                    use:[
                        {
                            loader:'url-loader',
                            options:{
                                limit:4096,//图片大小
                                outputPath:'../images',//指定打包后的图片位置
                                publicPath:'/images'//原来的图片位置
                            }
                        }
                    ]
                }
                
            ]
        }
        //引入扩展插件
        plugins:[
            //清除文件插件  
            new CWP({
                ['build']//清除打包后多余的js(必须放在html文件上面)
            }),
             //分离css插件  
            new mcep({
                filename:'1.css'
            }),
             //自动产出html插件  
            new HWP({
                template:'./index.html'//模板文件,
                
                //对文件进行压缩
                minify:{
                    removeAttributeQuotes:true,//去掉属性双引号
                    collapseWhitespace:true//将文件压缩成一行
                },
                /*
                    设置文件的title
                    用模板引擎配合使用,<%= htmlWebpackPlugin.options.title>
                */
                title:'欢迎来到webpack4.0',
                hash:true,//给产出的文件加上hash,避免缓存
                //提取代码中的公共模块,然后将其打包到独立的文件中
                chunks:['index','index1']
                
            }),
            //热更新插件
            new webpack.HotModuleReplacementPlugin()//热更新模块
        ],
        //配置开发服务器
        devServer:{
            //配置开发服务运行时文件根目录(该配置可以省略)
            contentBase:path.resolve(__dirname,'build'),
            host:'localhost', //服务器监听的主机地址
            compress:true, //服务器是否启动压缩
            port:80, //服务器监听的端口
            open:true, //自动打开浏览器 可不写
            hot:true//热更新,局部刷新
        }
        
    }
    module.exports = obj;//导出obj
    
    *** extract-text-webpack-plugin默认安装的是3.0.2不支持webpack4.0
        所以使用mini-css-extract-plugin 支持webpack4.0
  • 相关阅读:
    Representation Data in OpenCascade BRep
    Render OpenCascade Geometry Surfaces in OpenSceneGraph
    Render OpenCascade Geometry Curves in OpenSceneGraph
    OpenCascade Shape Representation in OpenSceneGraph
    Geometry Surface of OpenCascade BRep
    Geometry Curve of OpenCascade BRep
    Tyvj2017清北冬令营入学测试
    Spfa算法模板
    洛谷1016 旅行家的预算
    洛谷1290 欧几里得的游戏
  • 原文地址:https://www.cnblogs.com/theblogs/p/10198467.html
Copyright © 2011-2022 走看看