Webpack配置与运行基础教程

news/2024/4/15 4:03:09/文章来源:https://blog.csdn.net/weixin_73032215/article/details/136465264

在前端开发中,Webpack是一款非常流行的模块打包工具,它可以帮助我们将多个文件打包成一个或多个静态资源文件,从而提高前端项目的性能和可维护性。本文将为你介绍Webpack的基础配置和运行方法,帮助你快速上手Webpack。

什么是Webpack

Webpack是一个基于Node.js的模块打包工具,它可以将各种资源,如JavaScript、CSS、图片等,视为模块,并通过各种loader和插件对这些模块进行处理和打包,最终输出一个或多个静态资源文件。

安装Webpack

首先,我们需要在项目中安装Webpack及其相关依赖。可以通过npm或者yarn来进行安装:

npm install webpack webpack-cli --save-dev

或者

yarn add webpack webpack-cli --dev

创建Webpack配置文件

创建一个名为webpack.config.js的文件,在其中进行Webpack的配置。一个基础的Webpack配置文件通常包含entry、output、module和plugins等几个关键配置项。

const path = require('path');module.exports = {entry: './src/index.js',output: {path: path.resolve(__dirname, 'dist'),filename: 'bundle.js',},module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader',},},{test: /\.css$/,use: ['style-loader', 'css-loader'],},{test: /\.(png|jpe?g|gif)$/i,use: {loader: 'file-loader',}},],},plugins: [],
};

编写示例代码

src目录下创建一个index.js文件,并编写一些示例代码,如:

import _ from 'lodash';
import './style.css';
import icon from './icon.png';function component() {const element = document.createElement('div');element.innerHTML = _.join(['Hello', 'webpack'], ' ');element.classList.add('hello');const myIcon = new Image();myIcon.src = icon;element.appendChild(myIcon);return element;
}document.body.appendChild(component());

同时,在src目录下创建一个style.css文件,内容如下:

.hello {color: blue;
}

运行Webpack

运行以下命令来启动Webpack的打包过程:

npx webpack

Webpack将会根据配置文件中的内容,将src/index.js和相应的资源文件打包成一个或多个文件,并输出到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 Tutorial</title>
</head>
<body><script src="dist/bundle.js"></script>
</body>
</html>

然后在浏览器中打开index.html文件,查看Webpack打包后的效果。

总结

通过以上步骤,你已经初步了解了Webpack的基础配置和运行方法。当然,Webpack有更多更复杂的功能和配置项,你可以根据实际项目需求进行配置和优化。希望这篇文章能帮助你更好地使用Webpack,提高前端项目的开发效率和质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_999387.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【解决方案】ArcGIS Engine二次开发时,运行后出现“正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain...”

我们在做ArcGIS Engine二次开发时&#xff0c;特别是新手&#xff0c;安装好了开发环境&#xff0c;满怀信心的准备将按照教程搭建好的框架在Visual Studio中进行运行。点击运行后&#xff0c;却出现了“正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化…

【码银送书第十三期】《ChatGPT原理与架构》

OpenAI 在 2022 年 11 月推出了人工智能聊天应用—ChatGPT。它具有广泛的应用场景&#xff0c;在多项专业和学术基准测试中表现出的智力水平&#xff0c;不仅接近甚至有时超越了人类的平均水平。这使得 ChatGPT 在推出之初就受到广大用户的欢迎&#xff0c;被科技界誉为人工智能…

GPT-4 等大语言模型(LLM)如何彻底改变客户服务

GPT-4革命&#xff1a;如何用AI技术重新定义SEO策略 在当今快节奏的数字时代&#xff0c;客户服务不再局限于传统的电话线或电子邮件支持。 得益于人工智能 (AI) 和自然语言模型 (NLM)&#xff08;例如 GPT-4&#xff09;的进步&#xff0c;客户服务正在经历革命性的转变。 在这…

Web3 之路:构建开放、透明的数字生态系统

随着区块链技术的迅速发展&#xff0c;Web3正在成为数字世界的新引擎&#xff0c;重新定义着我们的生活和工作方式。在这个数字化的时代&#xff0c;我们目睹着一个全新的网络生态正在逐渐成形&#xff0c;其中开放性和透明性是其核心特征。让我们深入探讨&#xff0c;Web3如何…

HttpResponse响应模块设计与实现(http模块三)

目录 类功能 类定义 类实现 编译测试 类功能 类定义 // HttpResponse响应模块功能设计 class HttpResponse { private:int _statu;bool _redirect_flag; // 重定向标志std::string _body;std::string _redirect_url; // 重定向地址std::unordered_map<std::string, std…

WinCE USB驱动架构及术语明析

一、层式驱动的概念。 WinCE驱动多为层式驱动&#xff0c;分为MDD和PDD两层。 MDD包含通用的驱动代码&#xff0c;向操作系统提供了驱动接口&#xff0c;该层代码调用PDD功能访问硬件。 PDD部分包含与硬件平台相关的特殊代码&#xff0c;不具有通用性。 之所以要分层&#xff0…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Marquee)

跑马灯组件&#xff0c;用于滚动展示一段单行文本。仅当文本内容宽度超过跑马灯组件宽度时滚动&#xff0c;不超过时不滚动。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Ma…

Swift SwiftUI 学习笔记 2024

Swift SwiftUI 学习笔记 2024 一、资源 视频资源 StanfordUnivercity 公开课 2023: https://cs193p.sites.stanford.edu/2023 教程 Swift 初识&#xff1a;基础语法&#xff1a;https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour/…

Java基础 - 8 - 算法、正则表达式、异常

一. 算法 什么是算法&#xff1f; 解决某个实际问题的过程和方法 学习算法的技巧&#xff1f; 先搞清楚算法的流程&#xff0c;再直接去推敲如何写算法 1.1 排序算法 1.1.1 冒泡排序 每次从数组中找出最大值放在数组的后面去 public class demo {public static void main(S…

Python+更改镜像源下载库+PyCharm+汉化+第一个项目配置

文章目录 一、Python二、更改镜像源下载库三、PyCharm四、汉化五、第一个项目配置 2024年3月5日 操作环境&#xff1a; Win11-23H2 Python-3.12.2 PyCharm-2023.3.4 一、Python https://www.python.org/ 点击Download&#xff0c;查看对应的版本&#xff08; prerelease…

Springboot+vue的物业管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的物业管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的物业管理系统&#xff0c;采用M&#xff08;model&#xff09;V&#xff…

最简k8s部署(AWS Load Balancer Controller使用)

问题 我需要在k8s集群里面部署springboot服务&#xff0c;通过k8s ingress访问集群内部的springboot服务&#xff0c;应该怎么做&#xff1f; 这里假设已经准备好k8s集群&#xff0c;而且也准备好springboot服务的运行镜像了。这里我们将精力放在k8s服务编排上面。 一图胜千言…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Image)

Image为图片组件&#xff0c;常用于在应用中显示图片。Image支持加载PixelMap、ResourceStr和DrawableDescriptor类型的数据源&#xff0c;支持png、jpg、jpeg、bmp、svg、webp和gif类型的图片格式。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&am…

【Web安全】htaccess攻击

.htaccess攻击 文章目录 .htaccess攻击1. .htaccess文件2. 常见用法2.1. 自定义出错界面2.2. 强制文件执行方式2.3. PCRE绕过正则匹配2.4. php_value修改php设定2.5. php_value文件包含2.6. 把htaccess当作php 1. .htaccess文件 .htaccess是Apache网络服务器一个配置文件&#…

系统提示mfc100u.dll丢失或错误的解决方法分享

mfc100u.dll是Microsoft Foundation Classes (MFC)库中的一个关键动态链接库文件。 mfc100u.dll文件是Microsoft Foundation Classes (MFC)库的一部分&#xff0c;这是一个为软件开发者提供的一系列类和功能&#xff0c;旨在简化Windows应用程序的开发过程。这个特定的文件包含…

酷开科技以消费者需求为导向冲刺OTT行业的星辰大海

通过大屏营销、互动营销等方式&#xff0c;提升品牌认知度和市场竞争力。酷开科技始终坚持以消费者的需求为导向&#xff0c;致力于为品牌方和消费者搭建高效、准确的沟通桥梁&#xff0c;开创OTT大屏营销新纪元。 伴随技术发展&#xff0c;智能电视已经从“尝鲜”变成了主流产…

GO语言并发编程

点击名片关注 阿尘blog&#xff0c;一起学习&#xff0c;一起成长 1 Goroutine和channel Go语言通过goroutine和channel来实现并发编程。Goroutine是Go语言中轻量级的线程&#xff0c;它由Go运行时&#xff08;runtime&#xff09;管理&#xff0c;并且拥有自己的栈空间。Gorou…

mac本地启动sentinel

启动Sentinel控制台 1&#xff09;下载sentinel控制台jar包 https://github.com/alibaba/Sentinel/releases/download/1.8.6/sentinel-dashboard-1.8.6.jar 2&#xff09;启动sentinel控制台 使用如下命令启动控制台&#xff1a; java -Dserver.port8080 -Dcsp.sentinel.d…

flink实战--Flink任务资源自动化优化

背景 在生产环境Flink任务资源是用户在实时平台端进行配置,用户本身对于实时任务具体配置多少资源经验较少,所以存在用户资源配置较多,但实际使用不到的情形。比如一个 Flink 任务实际上 4 个并发能够满足业务处理需求,结果用户配置了 16 个并发,这种情况会导致实时计算资…

Ajax+Axios+前后端分离+YApi+Vue-ElementUI组件+Vue路由+nginx【全详解】

目录 一.Ajax技术 二. Axios 三.前后台分离开发介绍 四. YAPI 五.前端工程化 六.vue工程的目录结构 七.Vue项目核心文件 八.Vue组件库ElementUI AboutView.vue最终代码 AboutView.vue最终代码 九.Vue路由 十.案例 十一.nginx介绍 一.Ajax技术 1.Ajax概述 Ajax: 全…