前端工程化之: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 进行项目初始化;

javascript 复制代码
npm init // 初始化

3.安装 webpack 依赖

javascript 复制代码
npm i -D webpack webpack-cli // 安装依赖

使用:

javascript 复制代码
webpack // npx webpack

默认情况下, webpack 会以 ./src/index.js 作为入口文件分析依赖关系,打包到 ./dist/main.js 文件中。

通过 --mode 选项可以控制 webpack 的打包结果的运行环境。默认是生产环境。

javascript 复制代码
npx webpack --mode=development // 开发环境打包
npx webpack --mode=production// 生产环境打包

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

javascript 复制代码
"scripts": {
    "dev":"webpack --mode=development",
    "build":"webpack --mode=production"
 },

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

javascript 复制代码
npm run dev // 开发环境打包
npm run build // 生产环境打包
相关推荐
qq12_81151751527 分钟前
Java Web 影城会员管理系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】
java·前端·mybatis
weixin199701080161 小时前
《中控网商品详情页前端性能优化实战》
前端·性能优化
wuhen_n1 小时前
LangChain Agents 实战:构建智能文件管理助手
前端·javascript·人工智能·langchain·ai编程
Vfw3VsDKo2 小时前
Flink源码阅读:Netty通信
java·前端·flink
别抢我的锅包肉2 小时前
【FastAPI】 + SQLAlchemy 异步 ORM 实现完整 CRUD 操作
前端·fastapi
tq6J5Yg143 小时前
windows10本地部署openclaw
前端·python
ISkp3V8b43 小时前
从 ReAct 到 Workflow:基于云端 API 构建事件驱动的智能体
前端·react.js·前端框架
星空4 小时前
前端--A_1--THML标签
前端
GISer_Jing4 小时前
前端架构师视角:Electron 知识框架全解析(含实战+面试)
前端·面试·electron
全栈练习生4 小时前
封装数字滚动动画函数
前端