webpack【初体验】使用 webpack 打包一个程序

news/2025/2/12 9:38:21/

打包前

共 3 个文件

在这里插入图片描述

dist\index.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Webpack 示例</title>
</head><body><h1>Webpack 示例</h1><!-- 引入打包后的 JavaScript 文件 --><script src="bundle.js"></script>
</body></html>

src\hello.js

export function hello() {alert("你好");
}

src\index.js

import { hello } from "./hello";
hello();

使用 Webpack 打包

新建文件 package.json

{"name": "webpack_demo","version": "1.0.0","main": "index.js","scripts": {"build": "webpack --config webpack.config.js"},"keywords": [],"author": "","license": "ISC","description": "","devDependencies": {"webpack": "^5.97.1","webpack-cli": "^6.0.1"}
}

webpackconfigjs_60">新建文件 webpack.config.js

const path = require("path");module.exports = {// 入口文件entry: "./src/index.js",// 输出配置output: {filename: "bundle.js",path: path.resolve(__dirname, "dist"),},
};

安装依赖

pnpm i

开始打包

在这里插入图片描述
在这里插入图片描述

打包后

将 hello.js 和 index.js 合并成了一个文件 dist\bundle.js

(()=>{"use strict";alert("你好")})();

最终效果为
在这里插入图片描述

浏览器访问 dist\index.html 可见程序正常运行,表示打包成功!

在这里插入图片描述

总结 Webpack 的打包过程

  1. Webpack 通过 webpack.config.js 中的 entry 配置,找到打包的入口文件 src/index.js

  2. 沿着入口文件 src/index.js,找到导入的关联文件 src\hello.js

  3. 根据 webpack.config.js 中的 output 配置,Webpack 会将所有找到的文件 ( hello.js 和 index.js )打包成一个名为 bundle.js 的文件,并输出到 dist 文件夹中

  4. dist\index.html 则直接加载的打包后的 bundle.js 文件,实现预期效果

        <!-- 引入打包后的 JavaScript 文件 --><script src="bundle.js"></script>
    

http://www.ppmy.cn/news/1570760.html

相关文章

deepseek v3网络结构源码分析笔记

1.网络主结构代码&#xff1a;主要是循环n_layers个TransformerBlock&#xff0c;在self.layers内构建 class Transformer(nn.Module):def __init__(self, args: ModelArgs):global world_size, rankworld_size dist.get_world_size() if dist.is_initialized() else 1rank …

svn的命令行工具如何安装

Subversion (SVN) 的命令行工具安装方法因操作系统而异&#xff0c;以下是不同系统的安装步骤&#xff1a; 1. Linux 系统 Debian/Ubuntu # 更新软件包列表 sudo apt update# 安装 SVN 命令行工具 sudo apt install subversion# 验证安装 svn --version Fedora/CentOS/RHEL…

实现一个页面来维护定时任务,并在状态更改时实时启动或停止Job

要实现一个页面来维护表A&#xff0c;并在状态更改时实时启动或停止Job&#xff0c;可以按照以下步骤进行&#xff1a; 创建一个Controller来处理页面请求&#xff1a; package com.example.demo.controller;import com.example.demo.entity.JobConfig; import com.example.d…

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_ssl_version 函数

定义 event\ngx_event_openssl.h 中&#xff1a; #if (OPENSSL_VERSION_NUMBER > 0x10100001L)#define ngx_ssl_version() OpenSSL_version(OPENSSL_VERSION)#else#define ngx_ssl_version() SSLeay_version(SSLEAY_VERSION)#endif #if (OPENSSL_VERSION_NUMBER…

设计模式-责任链模式:让请求像流水线一样自由流转

🔍 引言:为什么需要责任链模式? 场景痛点: 想象一个请假审批系统: 普通员工请假 ≤3天 → 组长审批3天 < 请假 ≤7天 → 经理审批请假 >7天 → CEO审批如果用传统的if-else实现: if (days <= 3) {groupLeader.approve(); } else if (days <=7) {manager.a…

C# OpenCV机器视觉:多尺度细节提升

在一个充满创意的设计工作室里&#xff0c;阿强正对着电脑屏幕上的图像唉声叹气。他是一名图像处理师&#xff0c;最近接到一个棘手的任务&#xff0c;客户拿来的图像细节模糊&#xff0c;看起来灰蒙蒙的&#xff0c;就像被一层薄纱蒙住了眼睛。 “这图像细节这么差&#xff0…

【AI日记】25.02.08

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 探索 AI 应用探索周二有个面试&#xff0c;明后天打算好好准备一下&#xff0c;我打算主要研究下 AI 如何在该行业赋能和应用&#xff0c;以及该行业未来的发展前景和公司痛点&#…

android studio无痛入门

在Android Studio中创建和管理项目主要涉及以下几个步骤&#xff1a; 1. 创建新项目 打开Android Studio&#xff0c;点击“Start a new Android Studio project”或者“File” > “New” > “New Project”。 选择一个模板&#xff0c;例如“Empty Activity”&#xff0…