当前位置: 首页 > news >正文

WebPack的使用及属性配、打包资源

WebPack(静态模块打包工具)(webpack默认只识别js和json内容)

在这里插入图片描述

WebPack的作用

把静态模块内容压缩、整合、转译等(前端工程化)
1️⃣把less/sass转成css代码
2️⃣把ES6+降级成ES5
3️⃣支持多种模块文件类型,多种模块标准语法

export、export default、module.exports、exports

导出方法的区别:参考文章

WebPack的使用(WebPack支持ECMA语法)

在这里插入图片描述

//--save-dev 表示在开发环境中使用而不安装到全局
npm i webpack-cli --save-dev

在package.json中加入自定义命令build(自己定义的,一般都用build)
在这里插入图片描述
运行工具命令

npm run build

生成dist文件
在这里插入图片描述
生成的main.js为src目录下的压缩文件,运行打包好的文件如下
在这里插入图片描述

修改WebPack打包入口和出口

点击查看webpack文档

在根目录下创建webpack.config.js文件,进行修改配置
在这里插入图片描述

可以在出口中添加 clean:true 来清空dist重新创建

打包资源

WebPack自动生成HTML

插件 html-webpack-plugin:在webpack打包时生成html文件
下载:

npm install --save-dev html-webpack-plugin

配置

const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');module.exports = {entry: 'index.js',output: {path: path.resolve(__dirname, './dist'),filename: 'index_bundle.js',},plugins: [new HtmlWebpackPlugin()],//默认生成一个最简单的html5页面  //HtmlWebpackPlugin({template:path.join(_dirname,'文件路径')})  //以指定文件为模板
//    plugins: [new HtmlWebpackPlugin({ template: path.resolve(__dirname, './public/index.html') })]
};

在这里插入图片描述

webpack打包css模块

npm i css-loader style-loader --save-dev

在这里插入图片描述

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

在这里插入图片描述

打包less模块

//less-loader将less转为css,因为浏览器只认识cssmodule: {rules: [{test: /\.css$/i,use: ["style-loader", "css-loader"]},{test: /\.less$/i,use: ["style-loader", "css-loader","less-loader"]}]}

在这里插入图片描述

打包图片

//type:‘asset’,根据文件大小(8kb)小于:把文件转成base64打包进js文件中(减少网络请求次数),大于:文件复制到输出的目录下

//在入口文件中引入图片
import img from './assets/logo.png'

在这里插入图片描述

babel编译器

在这里插入图片描述

WebPack开发服务器

在这里插入图片描述

还需要配置package.json文件,同时切换模式为开发者模式(不进行打包),自动监听入口文件的变化
在这里插入图片描述

运行服务器
npm run dev
//自动打开网页修改配置为"dev": "webpack server --open --mode=development"

打包模式

在这里插入图片描述

开发环境调错-source map

可以定位错误具体的位置而不是错误在压缩文件中的位置
在这里插入图片描述
注意:只在开发环境下使用
在这里插入图片描述

解析别名alias

在webpack.config.js中配置
在入口文件中使用别名时,入口文件会到webpack中通过别名找真正的路径
在这里插入图片描述
配置:
在这里插入图片描述

http://www.lryc.cn/news/330541.html

相关文章:

  • 机器学习实战17-高斯朴素贝叶斯(GaussianNB)模型的实际应用,结合生活中的生动例子帮助大家理解
  • 数据处理库Pandas数据结构DataFrame
  • 中国发展新能源的核心驱动力是什么?其原理是如何运作的?
  • skywalking
  • 江苏开放大学2024年春《大学英语(D) 060108》第二次过程性考核作业参考答案
  • dockerfile制作-pytoch+深度学习环境版
  • YOLOv8结合SCI低光照图像增强算法!让夜晚目标无处遁形!【含端到端推理脚本】
  • 视频监控/云存储/AI智能分析平台EasyCVR集成时调用接口报跨域错误的原因
  • VuePress基于 Vite 和 Vue 构建优秀框架
  • 冒泡排序,选择排序,插入排序,希尔排序,基数排序,堆排序代码分析(归并排序和快速排序后续更新)
  • 从入门到精通:NTP卫星时钟服务器技术指南
  • OpenResty基于来源IP和QPS来限流
  • 面对AI技术创业的挑战以及提供给潜在创业者的一些建议
  • `require`与`import`的区别
  • 中介者模式:优雅解耦的利器
  • Ubuntu20.04安装MatlabR2018a
  • 基于SpringBoot的图书馆管理系统设计与实现
  • 网易云首页单页面html+css
  • acwing算法提高之图论--最小生成树的典型应用
  • springcloud基本使用二(远程调用)
  • 代码随想录刷题day42| 01背包理论基础分割等和子集
  • Python文件操作命令
  • CSS面试题---基础
  • OpenHarmony实战开发-分布式数据管理
  • 微服务(基础篇-007-RabbitMQ部署指南)
  • C语言一维数组及二维数组详解
  • 11.图像边缘检测的原理与实现
  • RVM安装ruby笔记
  • 电力系统负荷预测方法
  • electron打包桌面版.exe之vue项目踩坑(vue3+electron 解决打包后首页打开空白,打包后路由不跳转及请求不到后端数据等问题)