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

Webpack5入门到原理2:基本使用

Webpack 是一个静态资源打包工具。

它会以一个或多个文件作为打包的入口,将我们整个项目所有文件编译组合成一个或多个文件输出出去。

输出的文件就是编译好的文件,就可以在浏览器段运行了。

我们将 Webpack 输出的文件叫做 bundle。

功能介绍

Webpack 本身功能是有限的:

开发模式:仅能编译 JS 中的 ES Module 语法

生产模式:能编译 JS 中的 ES Module 语法,还能压缩 JS 代码

开始使用

1. 资源目录

webpack_code # 项目根目录(所有指令必须在这个目录运行)
    └── src # 项目源码目录
        ├── js # js文件目录
        │   ├── count.js
        │   └── sum.js
        └── main.js # 项目主文件

2. 创建文件

  • count.js
export default function count(x, y) {return x - y;
}
  • sum.js
export default function sum(...args) {return args.reduce((p, c) => p + c, 0);
}
  • main.js
import count from "./js/count";
import sum from "./js/sum";console.log(count(2, 1));
console.log(sum(1, 2, 3, 4));

3. 下载依赖

打开终端,来到项目根目录。运行以下指令:

  • 初始化package.json
npm init -y

此时会生成一个基础的 package.json 文件。

需要注意的是 package.json 中 name 字段不能叫做 webpack, 否则下一步会报错

  • 下载依赖
npm i webpack webpack-cli -D

4. 启用 Webpack

  • 开发模式
npx webpack ./src/main.js --mode=development
  • 生产模式
npx webpack ./src/main.js --mode=production

npx webpack: 是用来运行本地安装 Webpack 包的。

./src/main.js: 指定 Webpack 从 main.js 文件开始打包,不但会打包 main.js,还会将其依赖也一起打包进来。

--mode=xxx:指定模式(环境)。

5. 观察输出文件

默认 Webpack 会将文件打包输出到 dist 目录下,我们查看 dist 目录下文件情况就好了

小结

Webpack 本身功能比较少,只能处理 js 资源,一旦遇到 css 等其他资源就会报错。

所以我们学习 Webpack,就是主要学习如何处理其他资源。

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

相关文章:

  • 企业微信上传临时素材errcode:44001,errmsg:empty media data
  • Docker技巧汇总
  • 学习使用微信小程序实现智能名片电子名片功能代码
  • 学习响应式编程中遇到的奇奇怪怪的问题
  • 前端常用js、css效果
  • Modern C++ 条件变量
  • 免费chartGPT网站汇总--
  • 关于C#中的async/await的理解
  • docker硬件交互 _ROS2
  • JS的数据类型和运算符
  • CSS实现平行四边形
  • 第11章 GUI Page500~504 步骤三十二:打开画板文件02
  • 【ROS2】ROS2使用C++实现简单服务端
  • WAF攻防相关知识点总结1--信息收集中的WAF触发及解决方案
  • 行云部署前端架构解析-前言 | 京东云技术团队
  • git提交代码到远端仓库的方法详解
  • 基于网络爬虫的天气数据分析
  • Javaweb之SpringBootWeb案例员工管理之删除员工的详细解析
  • 写点东西《什么是网络抓取?》
  • 使用C#操作文件:一个实际案例——替换文件中的IP地址
  • Zookeeper简介
  • 第33集《佛法修学概要》
  • C++ 之LeetCode刷题记录(十三)
  • 容器技术1-容器与镜像简介
  • openssl3.2 - 官方demo学习 - smime - smdec.c
  • vue中改变v-html中包含body标签的样式修改方法
  • 港科夜闻|香港科大团队研发多功能,可重构和抗破坏单线感测器阵列
  • 线程池的简单介绍及使用
  • 使用Python的pygame库实现下雪的效果
  • qt学习:进度条,水平滑动条,垂直滑动条+rgb调试实战