Node.js 项目使用 Webpack 打包配置与自动构建详解

作者:接口漫谈时间:2026-10-24 23:40:03浏览:379

本文详细介绍在 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奇数
})

运行测试时可能会遇到报错情况。

Webpack

这通常是由于原生 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 打包成功有效并解决了兼容性问题。

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 自动打包配置

由于每次更新代码都需要手动打包,为了提升效率,我们需要配置自动打包功能。

① 安装 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 自动打包与热更新。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!

作者最新文章