前端工程化之: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 // 生产环境打包
相关推荐
学不会•1 小时前
css数据不固定情况下,循环加不同背景颜色
前端·javascript·html
活宝小娜4 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点4 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow4 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o4 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic5 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā5 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
沉默璇年6 小时前
react中useMemo的使用场景
前端·react.js·前端框架
yqcoder6 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
2401_882727576 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架