React 使用webpack打包

article/2025/9/24 13:11:13

一、项目创建

1、新建一个项目文件夹,打开终端,切换到到项目目录下:

npm init -y

这时候使用webstorm等高级的编辑器打开项目执行下面步骤效果会更直观。

2、新建一个文件夹public,在文件夹内创建index.html文件,添加:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><div id="root"></div>
</body>
</html>

3、新建一个文件src/index.js,暂时先不写内容。

二、打包依赖配置

1、添加webpack

yarn add webpack webpack-cli --dev

webpack:打包依赖
webpack-cli:打包命令的协议

2、配置babel

yarn add babel-loader @babel/core @babel/preset-env --dev

babel-loader、@babel/core、@babel/preset-env:babel-loader的核心支持库

三、打包配置文件

1、在项目的根目录下新建webpack.config.js文件夹,配置打包模块。

const path = require('path');module.exports = {//打包环境,测试环境还是生产环境,不添加会报警告mode: 'development',//相对路径entry: {app: './src/index.js'},//输出配置output: {//输出在项目根目录的dist文件夹,会自动创建path: path.resolve(__dirname, './dist'),//js的文件名称filename: '[name].bundle.js',}
}

2、执行命令

yarn run webpack

会生成一个文件夹dist,包含一个app.bundle.js空的文件,这样说明初步就配置成功。

四、配置html-webpack-plugin

yarn add html-webpack-plugin --dev

webpack.config.js配置插件:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')module.exports = {mode: 'development',entry: {app: './src/index.js'},output: {path: path.resolve(__dirname, './dist'),filename: '[name].bundle.js',},plugins: [new HtmlWebpackPlugin({//模板路径,注意需要和index.html路径对应template: path.resolve(__dirname, './public/index.html'),//文件名称filename: 'index.html',})]
}

再次执行:

yarn run webpack

会在dist文件夹下生成app.bundle.js和index.html,并且自动添加了<script defer src="app.bundle.js"></script>。

五、配置其他webpack插件

        每次打包都会生成dist文件夹,有的可能不需要,就需要在打包前清理,每次手动清理太麻烦,添加插件自动清理,有时候还需要检查错误,有需要error插件。

yarn add clean-webpack-plugin friendly-errors-webpack-plugin --dev

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')
const {CleanWebpackPlugin} = require("clean-webpack-plugin");
const friendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin');module.exports = {……省略……plugins: [new HtmlWebpackPlugin({template: path.resolve(__dirname, './public/index.html'),filename: 'index.html',}),new CleanWebpackPlugin(),new friendlyErrorsWebpackPlugin(),]
}

六、支持jsx语法

1、添加React支持

yarn add react react-dom

2、添加jsx的babel

yarn add @babel/preset-react --dev

3、配置webpack.config.js

module.exports = {……省略……module: {rules: [{test: /\.(js|jsx)$/,loader: 'babel-loader',exclude: /node_modules/}],}
}

4、根目录下新建.babelrc文件,添加:

{"presets": ["@babel/preset-react","@babel/preset-env"]
}

5、在src/index.js下添加

import React from 'react'
import ReactDOM from 'react-dom'
import App from "./App";ReactDOM.render(<App />,document.getElementById('root')
)

再次执行:

yarn run webpack

预览dist/index.html显示内容,说明就集成成功。

七、实时预览

每次预览都需要yarn run webpack太麻烦,需要配置service自动加载。

1、添加

yarn add webpack-dev-server --dev

2、配置

module.exports = {……省略……devServer: {static: {directory: path.join(__dirname, './dist'),},compress: true,port: 3100,}
}

4、开启端口监听

yarn run webpack serve

访问http://localhost:3100/会显示预览内容,修改index.js内容并保存,会实时更新。

八、配置scripts

在package.json添加:


"scripts": {"build": "webpack","start": "webpack serve"
}

运行:

yarn start:开启服务
yarn build:重新打包

九、项目结构

1、package.json:

{"homepage": "./","name": "comments-app","version": "1.0.0","description": "","main": "index.js","scripts": {"build": "webpack","start": "webpack serve"},"author": "","license": "ISC","dependencies": {"react": "^17.0.2","react-dom": "^17.0.2"},"devDependencies": {"@babel/core": "^7.17.5","@babel/preset-env": "^7.16.11","@babel/preset-react": "^7.16.7","babel-loader": "^8.2.3","clean-webpack-plugin": "^4.0.0","css-loader": "^6.7.0","file-loader": "^6.2.0","friendly-errors-webpack-plugin": "^1.7.0","html-webpack-plugin": "^5.5.0","sass-loader": "^12.6.0","style-loader": "^3.3.1","url-loader": "^4.1.1","webpack": "^5.70.0","webpack-cli": "^4.9.2","webpack-dev-server": "^4.7.4","webpack-merge": "^5.8.0"}
}

2、项目结构如下:

 3、下载地址:

https://download.csdn.net/download/yoonerloop/83976375


http://chatgpt.dhexx.cn/article/abiJa2fo.shtml

相关文章

webpack打包工具的基本使用

目录 一、webpack是什么&#xff1f; 二、webpack的基本使用 1、初始化项目 2、安装webpack及其依赖 3、使用 3.1 配置webpack&#xff1a; 3.2 在package.js文件中添加打包命令 3.3 执行打包命令 三、webpack相关插件 插件一&#xff1a;HtmlWebpackPlugin 插件二&a…

webpack打包优化

目录 概述 打包优化-路由懒加载 问题 那什么是路由懒加载呢? 路由懒加载中的魔法注释 小结 打包优化-包大小分析 包大小分析 打包优化-去掉console-log webpack配置排除打包-整体分析 回顾 提问 思路 webpack配置排除打包-打包瘦身 目标 使用方式 webpack配置…

webpack打包工具的使用方法

目录 一、webpack打包工具 1、简介 2.npm补充 3.webpack一系列的步骤 1.npm init -y初始化文件生成package.json文件 2.npm install jquery -S安装jquery包&#xff0c; 3.卸载包的时候&#xff0c;用npm uninstall jquery -S(如果需要卸载的话) 4.在根目录上新建src文…

webpack 打包chunk

chunk的含义以及出现的情况 webpack特定术语在内部用于管理捆绑过程&#xff0c;输出束&#xff08;bundle&#xff09;由块组成。 是webpack 根据功能拆分出来的代码片段&#xff0c;包含三种情况 官方: 1.入口起点&#xff1a;使用entry配置手动地分离代码 **2.防止重复…

webpack打包报错

在执行npm run build对项目进行打包的时候遇到webpack打包报错的问题 在网上找到各种方法去解决&#xff0c;什么node版本不兼容啊重装node啊&#xff0c;什么saas没装好python环境啊&#xff0c;webpack版本兼容问题啊&#xff01;总之各种说法都看着去尝试解决了&#xff0c;…

webpack打包css

webpack打包 1.打包css2.打包逻辑1-1.webpack打包css逻辑 3.打包css4.打包成独立的css文件5.添加样式前缀6.格式校验7.压缩css8.我们为什么要用这个打包工具呢9.webpack的打包顺序10.总结 1.打包css 2.打包逻辑 1-1.webpack打包css逻辑 非js文件打包 需要对应的loadercss-loa…

初识webpack打包

初识webpack打包&#xff0c;小白入门 前言&#xff1a; webpack是一款基于node的构建工具&#xff0c;其中一大特色就是打包 因为现在前端已经工程化开发&#xff0c;写的代码已经不能直接在浏览器上运行了 这时候webpack会帮你把代码进行编译&#xff0c;打包成浏览器识别的…

webpack打包分析

分析一&#xff1a;打包的时间分析 如果我们希望看到每一个loader、每一个Plugin消耗的打包时间&#xff0c;可以借助于一个插件&#xff1a;speed-measure-webpack-plugin注意&#xff1a;该插件在最新的webpack版本中存在一些兼容性的问题&#xff08;和部分Plugin不兼容&am…

如何使用Webpack打包

简单的说了一下webpack是干嘛的&#xff0c;和webpack如何安装&#xff0c;如何进行打包&#xff0c;步骤很详细&#xff0c;感兴趣的同学可以试着操作一下。 文章目录 1、webpacks是什么&#xff1f;2、Webpack安装3、初始化项目4、使用webpack进行JS打包5、使用webpack进行CS…

webpack打包优化配置

文章目录 前言不进行任何打包配置代码分离splitChunkruntimeChunk动态导入 css文件处理css文件提取css文件压缩css实现Tree Shaking js实现Tree shakingTerserscope Hoisting打包优化没效果打包界面显示分析总结 前言 之前使用webpack进行项目搭建配置时&#xff0c;都是操作一…

webpack打包路径更改_webpack打包教程

创建package.json文件 命令:npm init 安装webpack npm install --save-dev webpack npm install --save-dev webpack-cli 全局安装: npm install --global webpack webpack-cli 打包 默认entry入口 src/index.js 默认output出口 dist/main.js 打包模式: webpack --mode deve…

Vue基础知识总结 9:vue webpack打包原理

&#x1f3c6;作者简介&#xff1a;哪吒&#xff0c;CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家&#x1f4aa;&#xff0c;专注Java硬核干货分享&#xff0c;立志做到Java赛道全网Top N。 &#x1f3c6;本文收录于&#xff0c;Java基础教程系列…

webpack 打包流程

流程梳理 在开始之前我们先对于整个打包流程进行一次梳理。 这里仅仅是一个全流程的梳理&#xff0c;现在你没有必要非常详细的去思考每一个步骤发生了什么&#xff0c;我们会在接下来的步骤中去一步一步带你串联它们。 整体我们将会从上边5个方面来分析Webpack打包流程: 初…

Webpack打包

webpack【依赖node环境】 什么是webpack&#xff1f; 从本质上将&#xff0c;webpack是一个现代的JavaScript应用的静态模板打包工具。 前端模块化&#xff1a; 前端模块化是指&#xff0c;通过将前端代码根据一定的规则解耦封装成几个代码文件&#xff08;模块&#xff09;&…

使用webpack打包vue项目

使用webpack打包vue项目 安装webpack工具&#xff0c;安装方式有两种&#xff1a;全局安装&#xff08;命令&#xff1a;npm install -g webpack webpack-cli&#xff09;以及安装在项目中&#xff0c;这里使用第二种&#xff1a; //在项目中安装&#xff0c;这里的-D表示运用到…

Idea 2017.3.+永久破解方法

一、下载Intellij IDEA2017.3.5x64旗舰版 去官网下载此处不赘述 二、下载破解jar包 链接在此http://idea.lanyus.com/jar/JetbrainsCrack-2.7-release-str.jar 三、打开安装好的IDEA路径下的bin目录 将下载好的jar包复制进来 例如 四、修改bin目录下的两个文件 idea.exe…

InetlliJ IDEA 2017破解(亲测,可用)

1.InetlliJ安装好后&#xff0c;启动&#xff0c;至License Activation界面&#xff1b; 2.选择License server&#xff1b; 3.在License server address中填入 http://idea.imsxm.com/

Intellij IDEA2017安装破解

IntelliJ IDEA&#xff08;2017&#xff09;安装和破解 IDEA 全称 IntelliJ IDEA&#xff0c;是Java语言开发的集成环境&#xff0c;IntelliJ在业界被公认为最好的java开发工具之一&#xff0c;尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(Git、svn、gith…

idea 2017 破解 可以使用

新版本的 自从升级到idea2017.3之后,之前的license server破解方法貌似已失效.于是找到大神用的破解插件,很好很强大. 安装好idea之后不要打开软件,从http://idea.lanyus.com/下载破解插件&#xff0c;这里面的插件是进行更新的&#xff0c;可能已经不是下面的文件名了&#xf…

IntelliJ idea2017 安装破解

下载 idea的安装包可以去官网下载&#xff0c;地址&#xff1a;IDEA各个历史版本请点击下载&#xff0c;选择自己需要的版本进行下载&#xff0c;本人下载的是ideaIU-2017.3.6.exe版本专业版。 安装 1、开始安装&#xff0c; 双击ideaIU-2017.3.6.exe&#xff0c;运行安装文…