本文详细介绍在 Node.js 环境中使用 Webpack 进行项目打包的完整流程。内容涵盖从项目初始化、依赖安装到 webpack.config.js 核心配置,解决 JS 兼容性与模块化问题。同时讲解 CSS、Less、Sass 等样式文件的加载器配置,以及利用 webpack-dev-server 实现代码更新后自动打包与浏览器热更新的高效开发工作流。
Webpack
为何要使用 Webpack?它能够提供友好的模块化支持、代码混淆、处理 JavaScript 兼容性问题以及实现性能优化等功能。
Webpack 的使用流程
第一步:初始化项目,执行命令 npm init -y 生成 package.json 文件。
第二步:在 src 目录下新建 index.html 文件作为页面入口。
第三步:安装 jQuery 模块,执行命令 npm install jquery。
第四步:编写测试代码实现列表隔行换色效果。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>隔行换色</title>
<script src="./index.js"></script>
</head>
<body>
<h1>web pack测试</h1>
<!-- vscode快捷方式:ul>li{第$个li}*10 -->
<ul>
<li>第1个li</li>
<li>第2个li</li>
<li>第3个li</li>
<li>第4个li</li>
<li>第5个li</li>
<li>第6个li</li>
<li>第7个li</li>
<li>第8个li</li>
<li>第9个li</li>
<li>第10个li</li>
</ul>
</body>
</html>
index.js
import $ from 'jquery'
$(function(){
$('li:odd').css('backgroundColor','green');//odd偶数
$('li:even').css('backgroundColor','pink');//even奇数
})
运行测试时可能会遇到报错情况。

这通常是由于原生 JavaScript 在不同浏览器或环境下的兼容性问题导致的。
使用 Webpack 打包可以有效解决此类兼容性问题,官方文档地址为:https://www.webpackjs.com/。
第五步:安装 Webpack 核心包,执行命令 npm install webpack webpack-cli -D(仅用于开发环境)。
第六步:在项目根目录新建 webpack.config.js 配置文件。
/**
* webpack 配置文件
*/
module.exports={
//调试时使用development开发模式
//打包时使用production生产模式
mode : 'development'
}
配置文件包含部分关键属性设置。
- 默认打包入口文件路径为 /src/index.js。
- 默认打包输出文件路径为 /dist/main.js。
可根据实际需求进行自定义配置,例如指定入口和出口路径。
/**
* webpack 配置文件
*/
const path=require('path');
module.exports={
//调试时使用development开发模式
//打包时使用production生产模式
mode : 'development',
entry: path.join(__dirname,'./src/index.js'), //__dirname表示当前目录当前路径
output: {
path: path.join(__dirname,'./dist'),
filename:'bundle.js',
},//出口
}
第七步:修改 package.json 文件(此步骤可选,取决于运行方式的选择)。
package.json
"scripts": {
"dev": "webpack"
},
第八步:执行打包命令 npm run dev。
项目目录下会多出 dist 文件夹,若终端输出包含 'successfully' 字样,则表示打包成功。
进行功能测试。
首先修改 index.html 中引入的 JavaScript 文件路径,指向打包后的文件。
<!--<script src="./index.js"></script>-->❌
<script src="../dist/main.js"></script>
运行项目查看效果。

页面正常显示且功能无误,表明 Webpack 打包成功有效并解决了兼容性问题。
Webpack 打包 CSS 样式文件
传统开发中通常使用 link 标签直接引用 CSS 文件。
第一步:安装处理 CSS 的 Loader,执行命令 npm i style-loader css-loader -D。
根据项目实际需要安装对应的加载器。
安装 Less 加载器,执行命令 npm install less-loader -D。
安装 Sass 加载器,执行命令 npm install sass-loader node-sass -D。
第二步:修改 webpack.config.js 配置文件以支持 CSS 处理。
/**
* webpack 配置文件
*/
const path=require('path');
module.exports={
//调试时使用development开发模式
//打包时使用production生产模式
mode : 'development',
entry: path.join(__dirname,'./src/index.js'), //__dirname表示当前目录当前路径
output: {
path: path.join(__dirname,'./dist'),
filename:'bundle.js',
},//出口
devServer:{
static: './src'
},
//新增内容css
module:{ //处理css
rules:[ //(规范)约束
{test:/\.css$/,use:['style-loader','css-loader']}//正则表达式拓展名.css
]
}
}
第三步:在 JS 文件中引入 CSS 文件。
css
#box{
width: 200px;
height: 100px;
background-color: greenyellow;
}
在 index.js 文件上方添加 CSS 路径引入代码(注意路径填写正确)import './css/style.css'。
index.html
<h1>CSS</h1>
<div id="box">盒子</div>
第四步:运行测试,执行命令 npm run dev。

若样式正常加载,则配置成功。
Webpack 自动打包配置
由于每次更新代码都需要手动打包,为了提升效率,我们需要配置自动打包功能。
① 安装 webpack-dev-server,执行命令 npm install webpack-dev-server -D。
② 修改 package.json 文件,配置脚本使得服务器启动时自动打开浏览器并执行打包。
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server --open --host 127.0.0.1 --port 9090"
},
③ 修改 webpack.config.js 文件,配置 devServer 选项。
devServer:{
static: './src'
}
④ HTML 文件中通过 script 标签引入 bundle.js。
打包后的文件默认位于根目录下。
<script src="/bundle.js"></script>④ 运行验证,执行命令 npm run dev。原理是服务器运行监听模式,因此需要通过访问服务器来查看效果。
直接访问服务器地址即可,成功实现 Webpack 自动打包与热更新。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!