zoukankan      html  css  js  c++  java
  • webpack4

    webpack4

    #查看webpack版本
    1.npm info webpack(显示了最新版本)/npm view webpack versions
    2.webpack -v
    如果没有出现,npm install --global webpack-cli,因为
    注意:webpack 4x以上,webpack将命令相关的内容都放到了webpack-cli,所以还需要安装webpack-cli;
    之后再webpack -v
    //========================
    #webpack4开始
    
    安装 
    npm install webpack-cli -g
    
    基本使用
    webpack输入文件.js 输出文件.js
    
    打包命令
    webpack index.js -o output_test.js // 生产环境
    webpack --mode development index.js -o output_test_d.js // 开发环境
    
    
    #蛋:
    
    --save   <=> -S     
    --save-dev  <=> -D 
    
    2、npm i --save-dev  <packname>  
    
          工程构建(开发时、“打包”时)依赖 ;例:xxx-cli , less-loader , babel-loader...
    3、npm i --save <packname> 
    
          项目(运行时、发布到生产环境时)依赖;例:antd , element,react...

    安装:npm i -D html-webpack-plugin

    为了缓存,你会发现打包好的js文件的名称每次都不一样。使用webpack插件将打包出来的js文件引入到html中
    npm i -D html-webpack-plugin

    // webpack.config.js
    const path = require('path');
    const HtmlWebpackPlugin = require('html-webpack-plugin')

    配置如

    module.exports = {
        mode:'development', // 开发模式
        entry: path.resolve(__dirname,'../src/main.js'),    // 入口文件
        output: {
          filename: '[name].[hash:8].js',      // 打包后的文件名称
          path: path.resolve(__dirname,'../dist')  // 打包后的目录
        },
        plugins:[
          new HtmlWebpackPlugin({
            template:path.resolve(__dirname,'../public/index.html')
          })
        ]
    }
    // 打包生成的js文件已经被自动引入html文件中

     安装:clean-webpack-plugin

    const {CleanWebpackPlugin} = require('clean-webpack-plugin')
    module.exports = {
        // ...省略其他配置
        plugins:[new CleanWebpackPlugin()]
    }
    // 执行npm run build 会发现dist文件夹里会残留上次打包的文件,在打包输出前清空文件夹clean-webpack-plugin

    在入口js中引入css文件

    解析css文件
    安装:npm i -D style-loader css-loader
    解析less文件
    安装:npm i -D less less-loader
    
    // webpack.config.js
    module.exports = {
        // ...省略其他配置
        module:{
          rules:[
            {
              test:/.css$/,
              use:['style-loader','css-loader'] // 从右向左解析原则
            },
            {
              test:/.less$/,
              use:['style-loader','css-loader','less-loader'] // 从右向左解析原则
            }
          ]
        }
    } 

    为css添加浏览器前缀

    安装:npm i -D postcss-loader autoprefixer

    优化打包速度

     优化打包速度
    mode可设置development production两个参数
    如果没有设置,webpack4 会将 mode 的默认值设置为 production 
    production模式下会进行tree shaking(去除无用代码)和uglifyjs(代码压缩混淆

    end.

  • 相关阅读:
    Java一次读取文本文件所有内容
    java Socket多线程聊天程序
    输出1-100内的质数(素数)
    random.nextInt()与Math.random()基础用法
    【bash】今天你坑队友了吗
    【awk】按小时切割日志
    python获取aliyun ECS实例
    记一次优化ansible inventory的小例子
    Apache Flume入门指南[翻译自官方文档]
    django入门-自定义管理界面-part7
  • 原文地址:https://www.cnblogs.com/wn798/p/12162676.html
Copyright © 2011-2022 走看看