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

前端工程化之:webpack1-2(安装与使用)

一、webpack简介

  webpack中文网

 webpack 是基于模块化的打包(构建)工具,它把一切视为模块它通过一个开发时态的入口模块为起点,分析出所有的依赖关系,然后经过一系列的过程(压缩、合并),最终生成运行时态的文件。

webpack的特点:

  • 为前端工程化而生: webpack 致力于解决前端工程化,特别是浏览器端工程化中遇到的问题,让开发者集中注意力编写业务代码,而把工程化过程中的问题全部交给 webpack 来处理。
  • 简单易用:支持零配置,可以不用写任何一行额外的代码就使用 webpack
  • 强大的生态: webpack 是非常灵活、可以扩展的, webpack 本身的功能并不多,但它提供了一些可以扩展其功能的机制,使得一些第三方库可以融于到 webpack 中。
  • 基于 nodejs 由于 webpack 在构建的过程中需要读取文件,因此它是运行在 node 环境中的。
  • 基于模块化: webpack 在构建过程中要分析依赖关系,方式是通过模块化导入语句进行分析的,它支持各种模块化标准,包括但不限于 CommonJS 、 ES6 Module 

二、webpack的安装和使用

安装:

 webpack 通过 npm 安装,它提供了两个包:

  • webpack:核心包,包含了 webpack 构建过程中要用到的所有 api
  • webpack-cli:提供一个简单的 cli 命令,它调用了 webpack 核心包的 api ,来完成构建过程。

安装方式: 

  • 全局安装: 可以全局使用 webpack 命令,但是无法为不同项目对应不同的 webpack 版本;
  • 本地安装:推荐,每个项目都使用自己的 webpack 版本进行构建 

本地安装步骤: 

1.新建一个文件夹,在该文件夹目录下使用 cmd 命令进入窗口;

2.在打开的窗口中输入 npm init 进行项目初始化;

npm init // 初始化

3.安装 webpack 依赖

npm i -D webpack webpack-cli // 安装依赖

使用: 

webpack // npx webpack

默认情况下, webpack 会以 ./src/index.js 作为入口文件分析依赖关系,打包到 ./dist/main.js 文件中。
通过 --mode 选项可以控制 webpack 的打包结果的运行环境。默认是生产环境。

npx webpack --mode=development // 开发环境打包
npx webpack --mode=production// 生产环境打包

 一般在 package.json 文件中进行脚本配置。

"scripts": {"dev":"webpack --mode=development","build":"webpack --mode=production"},

配置后可以用 npm 命令进行开发环境和生产环境打包。 

npm run dev // 开发环境打包
npm run build // 生产环境打包

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

相关文章:

  • MySQL索引类型及数据结构【笔记】
  • 成熟的内外网数据交换方案,如何实现跨网传输?
  • python11-Python的字符串之repr
  • python小项目:口令保管箱
  • 微认证 openEuler社区开源贡献实践
  • 紫光展锐M6780丨超分辨率技术——画质重构还原经典
  • 《Python 简易速速上手小册》第6章:Python 文件和数据持久化(基于最新版 Python3.12 编写)
  • 华为机考入门python3--(4)牛客4-字符串分隔
  • Unity MonoBehaviour 生成dll
  • 基于Python flask MySQL 猫眼电影可视化系统设计与实现
  • 【新课上架】安装部署系列Ⅲ—Oracle 19c Data Guard部署之两节点RAC部署实战
  • gdb调试std::list和std::vector等容器的方法
  • python stomp 转发activemq topic消息
  • Spring Boot使用AOP
  • C语言通过IXMLHttpRequest以get或post方式发送http请求获取服务器文本或xml数据
  • QtRVSim(二)一个 RISC-V 程序的解码流程
  • x-cmd pkg | httpx - 为 Python 设计的下一代 HTTP 客户端库
  • 代码随想录算法训练营第四十二天(动态规划篇)|62. 不同路径
  • YOLO 全面回顾:从最初的YOLOv1到最新的YOLOv8、YOLO-NAS,以及整合了 Transformers 的 YOLO
  • Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心,Kotlin(2)
  • 同为科技(TOWE)自动控制循环定时插座
  • 游戏设计模式
  • CUBEMX与FreeRTOS在Arm Compiler 6下的配置方法
  • Android Studio 提示Use app:drawableStartCompat instead of android:drawableStart
  • C# wpf 实现任意控件(包括窗口)更多调整大小功能
  • Vue+OpenLayers7入门到实战:快速搭建Vue+OpenLayers7地图脚手架项目。从零开始构建Vue项目并整合OpenLayers7.5.2
  • mysql-线上常用运维sql
  • Linux之进程间通信(system V 共享内存)
  • 数据库 sql select *from account where name=‘张三‘ 执行过程
  • 力扣日记1.27-【回溯算法篇】131. 分割回文串