前端工程化之: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 // 生产环境打包
相关推荐
小码哥_常几秒前
从Groovy到KTS:Android Gradle脚本的华丽转身
前端
灵感__idea11 分钟前
Hello 算法:复杂问题的应对策略
前端·javascript·算法
麦麦鸡腿堡1 小时前
JavaWeb_请求参数,设置响应数据,分层解耦
java·开发语言·前端
Dxy12393102162 小时前
CSS常用样式详解:从基础到进阶的全面指南
前端·css
IT_陈寒2 小时前
SpringBoot自动配置揭秘:5个让开发效率翻倍的隐藏技巧
前端·人工智能·后端
Moment2 小时前
前端工程化 + AI 赋能,从需求到运维一条龙怎么搭 ❓❓❓
前端·javascript·面试
Joker Zxc2 小时前
【前端基础(Javascript部分)】6、用JavaScript的递归函数和for循环,计算斐波那契数列的第 n 项值
开发语言·前端·javascript
Highcharts.js2 小时前
React 图表如何实现下钻(Drilldown)效果
开发语言·前端·javascript·react.js·前端框架·数据可视化·highcharts
橙露3 小时前
Webpack/Vite 打包优化:打包体积减半、速度翻倍
前端·webpack·node.js
chushiyunen3 小时前
python中的魔术方法(双下划线)
前端·javascript·python