现在比较火的前端框架 react 和 vue,大部分时候我们都是通过脚手架进行
搭建的,对于脚手架来说有一个很重要的打包模块 webpack,使用起来确实挺方便的。对于使用脚手架来搭建项目也有弊端,如果我们需要更改配置,怎么办呢?yarn eject 出 webpack 的配置。执行 yarn eject 会将 package.json 文件中,scripts 下的 eject 删除掉,这个过程是不可逆的。我们来看看执行前和执行后的对比。
未执行 yarn eject 前
“scripts”: {
“start”: “react-scripts start”,
“build”: “react-scripts build”,
“test”: “react-scripts test”,
“eject”: “react-scripts eject”
}
执行 yarn eject 后
“scripts”: {
“start”: “node scripts/start.js”,
“build”: “node scripts/build.js”,
“test”: “node scripts/test.js”
},
本文将在后面内容中,介绍如何通过 webpack 搭建一个 react 项目。首先
webpack 有四个核心的概念。入口(entry),出口(output),loader 以及插件
(plugins)。

Webpack 搭建 react 项目步骤

1.检查 node,npm 是否安装

可以在控制台中输入 node -v,和 npm -v 查看

2.全局安装 webpack

npm install --save webpack@5.73.0
npm install --save webpack-cli@4.10.0
由于版本更新过快,可能导致版本不兼容情况,可以添加上版本信息

3.创建文件并初始化项目

创建项目本地文件是必不可少的,通过 mkdir 创建文件,并进入所创建的
文件中,再通过 npm init 初始化项目。以及安装 webpack 到本地项目中:npm install --save webpack@5.73.0、npm install --save webpack-cli@4.10.0 这里与全局安装的 webpack 保持一致。创建 src 和 public 文件夹,在根目录下创建 webpack.config.js,babel.config.js。还需要再 src 下创建 index.js,page.html,在 public 下

4.配置 webpack.config.js 文件

const path = require(“path”)
module.exports={
// 设置执行器入口
entry:“./src/index.js”,
// 设置执行器出口
output:{
filename:“bundle.js”,
path:path.resolve(__dirname+‘/dist’)
} }

5.webpack 中使用 loader

1)安装 css-loader: npm install --save-dev css-loader@6.7.1
2)安装 style-loader: npm install --save-dev style-loader@3.3.1
3) 安装 less 包依赖:npm install --save-dev less@4.1.3 ,npm install
–save-dev less-loader@11.0.0
4)安装分离,压缩插件
optimize-css-assets-webpack-plugin
mini-css-extract-plugin
5) 在 webpack.config.js 中添加代码
rules: [{test: /.cssKaTeX parse error: Expected 'EOF', got '}' at position 59: …','css-loader']}̲, {test: /\.cs…/,
use:[MiniCssExtractPlugin,‘style-loader’,‘css-loader’,‘less-loader’]
}]}
plugins:[ new HtmlPlugin({template:“./src/page.html”,
filename:‘./index.html’}),
New MiniCssExtractPlugin({filename:“./css/index1.css” }),
new OptimizeCSSAssetsPlugin() ]

6. Webpack 中使用 DevServer

1)安装依赖:
npm install -g webpack-dev-server@4.9.2
npm install --save-dev webpack-dev-server@4.9.2
2)增加配置
devServer: {
// 首先设置服务器打开目录
static: path.join(__dirname, ‘public’),
// 开启压缩模式
compress: true,
port: 9000,
// 热更新,只对 src 文件下的代码更改有效
hot: true,
// 自动打开浏览器
open: true,
//使用 History 路由模式时,若 404 错误时被替代为 index.html
historyApiFallback: true}

7. webpack 构架一个 React 项目的环境正式开始

  1. 安装依赖
    npm install –save @babel/core @babel/preset-env babel-loader
    npm install -D @babel/preset-react@7.17.12
    npm install -S react@18.2.0
    npm install -S react-dom@18.2.0
    npm install –save html-webpack-plugin
    2)增加 jsx 配置
    webpack.config.js 增加
    { test: /.jsKaTeX parse error: Expected 'EOF', got '}' at position 25: …babel-loader'] }̲, { test: /\.(j…/,
    exclude: /node_modules/,
    loader: ‘babel-loader’}
    new HtmlPlugin({template:“./src/page.html”,filename:‘./index.html’})
    还需要对 babel.config.js 进行修改
    module.exports={presets:[ ‘@babel/preset-env’, “@babel/preset-react”]}
    3)接下来就可以写 react 相关代码了 Index.js 代码如下
    import React from “react”;
    import ReactDom from ‘react-dom’
    ReactDom.render(

    react

    ,document.getElementById(“root”))
    搭建 react 基础环境的,就这样结束了。本文只对自己在工作中的一点总结,如有错误请指教。

Webpack 搭建基础 react 项目环境相关推荐

  1. 从零开始搭建一个react项目

    Nav logo 120 发现 关注 消息 4 搜索 从零开始搭建一个react项目 96 瘦人假噜噜 2017.04.23 23:29* 字数 6330 阅读 32892评论 31喜欢 36 项目地 ...

  2. React-从0到1搭建一个React项目(一)

    文章目录 架构介绍 第三方组件库 项目准备 环境准备 使用create-react-app初始化项目 创建项目目录结构 安装第三方库 利用工作之余的时间学习了react,今年一回来,部门要在公众号上面 ...

  3. git maven 一键部署_Jenkins Git Maven搭建自动化部署项目环境 邮件通知

    简介 折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.com/j ...

  4. Jenkins 之 单节点 对接GitHub搭建自动化部署项目环境 与 实战测试 (三)

    Jenkins 之 单节点 对接GitHub搭建自动化部署项目环境 与 实战测试 (三) 目录 Jenkins 之 单节点 搭建自动化部署项目环境 与 实战测试 (三) Jenkins 服务器 环境 ...

  5. 如何搭建一个react项目?

    使用react很长时间,写个搭建项目的文档,用于新项目的快速启动. 本项目使用的技术栈: create-react-app react-router ant-design react-redux 一. ...

  6. 使用express+webpack搭建一个小项目

    本项目想实现一个小网站, css方面:带reset.css,能使用sass语法: js方面:能使用es6语法: 模板方面:有可继承的模板,公用部分可提取公用的模板: 项目实现热启动: 实现思路: 使用 ...

  7. React入门:从零搭建一个React项目

    一.初始化项目 新建文件夹,文件名firstreact 文件夹名称不要用react,node这类关键字,后面使用插件时会发生错误. init项目环境,项目信息可默认或自行修改 mkdir firstr ...

  8. webpack创建html项目,从零开始其于webpack搭建bootstrap 4项目

    环境与目录与初始化 首先确认安装node环境,不多说,运行node -v我的是v10.15.3. 其次在要创建项目的目录运行: mkdir bs4 cd bs4 新建了bs4目录并进入此目录后,初始化 ...

  9. 史上最详细Windows版本搭建安装React Native环境配置

    说在前面的话: 感谢同事金晓冰倾情奉献本环境搭建教程 之前我们已经讲解了React Native的OS X系统的环境搭建以及配置,鉴于各大群里有很多人反应在Windows环境搭建出现各种问题,今天就特 ...

最新文章

  1. mysql查看视图用户
  2. Opengl-光照章节学习成果
  3. 最短网络 Agri-Net
  4. 四元数(Quaternion)和欧拉角(Eulerangle)
  5. python 流程控制if判断
  6. java 构造 statict_java学习:构造方法、static、final
  7. [项目总结]在ios中使用soundtouch库实现变声
  8. 天池-新闻推荐-多路召回
  9. 显示已暂停_中国玉米进口预计增至2200万吨!阿根廷最新宣布:暂停玉米出口...
  10. SAP License:ERP系统会计凭证中的那些必填项
  11. Golang 变量申明方式
  12. ActivityGroup 例子
  13. Java下载安装错误案例
  14. CAD 2022卸载方法,如何完全彻底卸载删除清理干净CAD各种残留注册表和文件? 【转载】
  15. OPPO A57刷机 A57刷机包下载 纯净包 A57T忘记密码 帐号解锁 刷机教程 精简Rom刷机包
  16. 小麦颗粒数目matlab,求关于matlab中rice.png图像中的米粒数目的算法
  17. fiddler手机抓包问题详解
  18. C -CPT-SS-PDI 喜树碱-双硫键-聚苝酰亚胺/PEI-g–PLO 聚乙烯亚胺-聚L-鸟氨酸
  19. 从gitlab迁移到极狐gitlab的方法 #JIHULAB101
  20. DOTA高考全国卷A卷

热门文章

  1. 织梦自定义表单如何添加提交时间?织梦留言板后台又该怎样显示用户留言时间?
  2. YZ新版本个人总结 2016.9.2
  3. 区块链助力提升国有资产监管水平和治理能力,浙江省财政厅推出资产云平台 3.0 版本
  4. devc++球吃食物C语言代码
  5. windows下nginx配置php环境
  6. nginx关闭所有进程linux,linux nginx启动,重启,关闭命令
  7. 净利润同比下滑26%,亚马逊朝万亿市值越“跑”越遥远?
  8. AgentTesla变种分析
  9. ACM题目测试数据生成方法(个人经验)
  10. python 窗体k线图_一眼看清股市状况之用Python绘制K线图