IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> webpack文字介绍 -> 正文阅读

[JavaScript知识库]webpack文字介绍

webpack? 是一款静态模块的打包工具??

webpack 概念:作用: 分析、转义、压缩、打包代码

?使用流程:1.初始化工程:yarn init -y? ?(工程名不能是中文、大写、空格)

? ? ? ? ? ? ? ? ? ?2.装包:1.webpack? ? ? ? ? ?2.webpack-cli

? ? ? ? ? ? ? ? ? ?3.配置自定义脚本? ? ? ? 在package.json里面添加? "script":{"build:'webpack"}

? ? ? ? ? ? ? ? ? ?4.写默认的入口文件? ? ?创建src/index.js

? ? ? ? ? ? ? ? ? ?5.打包? ? ? ? ?运行使用yarn build?(npm run build)

? ? ? ? ? ? ? ? ? ?6.输出? ? ? ? ?dist/main.js?

基本配置? ? ?

1.入口/出口? ? ?配置文件:webpack.config.js? ? ? ?导出一个配置对象

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 入口:entry? ? ?可以是相对路径

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?出口:output? ?这里必须是绝对路径

? ? ? ? ? ? ? ? ? ? ?2.插件? ? ?html-webpack-plugin? ? ? ? 作用 : 自动复制HTML文件到出口

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用法: 1.装包

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.导入到webpack.config.js? ?在里面写? ? ? ? ? ? ? ? ? ? ? ??

 ? const HtmlWebpackPlugin require('html-webpack-plugin')

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3.在plugins属性上配置下面代码:

plugins: [
  new HtmlWebpackPlugin({
    template: './public/index.html'
  })
]

? ?3.loader? ?

? ?(1)打包css? ? ? ?css-loader? ? :解析css文件

? ? ? ? ? ? ? ? ? ? ? ? ?? style-loader? ?:? 将css-loader解析的内容插入到DOM中

? ? ? ? ? ? ? ? ? ? ? ? ? ?用法: 1.装包??

? ? ? ? ? ? ? ? ? ? ? ? ???2.在module属性上配置如下:

module: {
  rules: [
    {
      test: /\.css$/i,
      use: ['style-loader', 'css-loader']
    }
  ]
}

(2)打包less? ? ? ? less-loader :解析less文件

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?less? ? ? ?less-loader的内部依赖,把less转化成css

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用法:? 在module属性上配置如下

module: {
  rules: [
    {
      test: /\.less$/i,
      use: ['style-loader', 'css-loader', 'less-loader']
    }
  ]
}

(3)打包图片? ? ? ? 不用额外的包 ,内置的资源模块asset module

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用法: 在moudle属性上配置如下

module: {
  rules: [
    {
      test: /\.(png|gif|jpg|jpeg|bmp)$/i,
      type: 'asset'
    }
  ]
}

(4)打包字体? ? ? ? ? 不需要额外包,内置模块asset module

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用法:? ? 在module 属性上配置如下

module: {
  rules: [
    {
      test: /\.(eot|woff|woff2|svg|ttf)$/i,
      type: 'asset/resource',
      generator: {
         filename: '[name].[hash:4][ext]'
      }
    }
  ]
}

(5)js降级? ? ? ? ?bable-loader? ? ?解析js文件? ?把高版本的js打包成低版本的。

? ? ? ? ? ? ? ? ? ? ? ? ? ? @bable/core? ? ?核心包,bable转义工具

? ? ? ? ? ? ? ? ? ? ? ? ? ? @bable/presets-env? ? ? 语法设置

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用法? ? ? ? ? 在module属性上配置 如下

module: {
  rules: [
     { // 强烈不建议大家手写, 容易出错
        test: /\.m?js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      }
    }
  ]

开发服务器?

作用? ? ?:? ?在内存中开启一个服务器,每次更新打包时,不会输出到硬盘,只会在内存中更新,? ? ? ? ? ? ? ? ? ? ? ?大大缩短了打包时间。

用法? ? ?:? ? 1.装包? ?webpack-dev-server

? ? ? ? ? ? ? ? ? ? 2.配置自定义脚本? ? package.json? ? ??

"scripts": {
  "build": "webpack",
  "serve": "webpack serve"
}

? ? ? ? ? ? ? ? ? ? 3. 运用脚本? ? ?yarn serve

? ? ? ? ? ? ? ? ? ? 4.配置? ? ? ?mode? ? production? ? 1.线上环境打包时使用? ? ? 2.效率低

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? devServer? ? ?port? ? 端口号

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?open? ?自动打开浏览器

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:37:53  更:2021-12-11 15:40:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:53:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码