当前位置: 首页 > wzjs >正文

江苏省建设通官方网站腾讯免费网站空间

江苏省建设通官方网站,腾讯免费网站空间,最适合新人的写作网站,泰和网站制作配置React源码本地调试环境 本次环境构建采用了node版本为16、react-scripts 版本号为 3.4.4,源码下载地址 react源码调试: react源码调试环境 使用 create-react-app 脚手架创建项目 npx create-react-app react-test 进入刚刚下载的目录,弹射 crea…

配置React源码本地调试环境

本次环境构建采用了node版本为16、react-scripts 版本号为 3.4.4,源码下载地址 react源码调试: react源码调试环境

使用 create-react-app 脚手架创建项目

npx create-react-app react-test

进入刚刚下载的目录,弹射 create-react-app 脚手架内部配置

// 在 npm run eject 之前,手动将项目 package.json 里面 react-scripts 版本号改为低版本的 3.4.4,删除 node_modules 后重装,确保使用老版本脚手架
npm run eject

克隆 react 官方源码 (在项目的根目录下进行克隆)

git clone --branch v16.13.1 --depth=1 https://github.com/facebook/react.git src/react

接着链接本地源码

// 文件位置: react-test/config/webpack.config.js
resolve: {alias: {"react-native": "react-native-web","react": path.resolve(__dirname, "../src/react/packages/react"),"react-dom": path.resolve(__dirname, "../src/react/packages/react-dom"),"shared": path.resolve(__dirname, "../src/react/packages/shared"),"react-reconciler": path.resolve(__dirname, "../src/react/packages/react-reconciler"),"legacy-events": path.resolve(__dirname, "../src/react/packages/legacy-events"),'scheduler/tracing': path.resolve(__dirname, "../src/react/packages/scheduler/src/Tracing")}
}

修改环境变量

// 文件位置: react-test/config/env.js
const stringified = {"process.env": Object.keys(raw).reduce((env, key) => {env[key] = JSON.stringify(raw[key])return env}, {}),__DEV__: true,SharedArrayBuffer: true,spyOnDev: true,spyOnDevAndProd: true,spyOnProd: true,__PROFILE__: true,__UMD__: true,__EXPERIMENTAL__: true,__VARIANT__: true,gate: true,trustedTypes: true}

告诉 babel 在转换代码时忽略类型检查

安装:npm install @babel/plugin-transform-flow-strip-types -D
// 文件位置: react-test/config/webpack.config.js [babel-loader]
找到: loader: require.resolve('babel-loader'),
plugins: [+ require.resolve("@babel/plugin-transform-flow-strip-types"),
]

导出 HostConfig

// 文件位置: /react/packages/react-reconciler/src/ReactFiberHostConfig.js
+ export * from './forks/ReactFiberHostConfig.dom';
- invariant(false, 'This module must be shimmed by a specific renderer.');

修改 ReactSharedInternals.js 文件

// 文件位置: /react/packages/shared/ReactSharedInternals.js
- import * as React from 'react';
- const ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
+ import ReactSharedInternals from '../react/src/ReactSharedInternals';

关闭 eslint 扩展

// 文件位置: react/.eslingrc.js [module.exports]
// 注释 extends
- extends: [
-  'fbjs',
- 'prettier'
-]

禁止 invariant 报错

// 文件位置: /react/packages/shared/invariant.js
export default function invariant(condition, format, a, b, c, d, e, f) {
+  if (condition) return;throw new Error('Internal React error: invariant() is meant to be replaced at compile ' +'time. There is no runtime version.',);
}

在 react 源码文件夹中新建 .eslintrc.json 并添加如下配置

{"extends": "react-app","globals": {"SharedArrayBuffer": true,"spyOnDev": true,"spyOnDevAndProd": true,"spyOnProd": true,"__PROFILE__": true,"__UMD__": true,"__EXPERIMENTAL__": true,"__VARIANT__": true,"gate": true,"trustedTypes": true}
}

修改 项目中(index.js app.js)react react-dom 引入方式

import * as React from "react"
import * as ReactDOM from "react-dom"

解决 vsCode 中 flow 报错

// vscode设置
"javascript.validate.enable": false

可选项配置

// 如果你的 vscode 编辑器安装了 prettier 插件并且在保存 react 源码文件时右下角出现如下错误,按照如下步骤解决
// 全局安装 prettier
npm i prettier -g
// 配置 prettier path
Settings > Extensions > Prettier > Prettier path

解决__DEV__ 报错

删除 node_modules 文件夹,执行 npm install

http://www.dtcms.com/wzjs/615565.html

相关文章:

  • 兰州做网站一咨询兰州做网站公司常用网站开发工具
  • 做创意美食的视频网站有哪些seo排名优化软件有用吗
  • 网站做过备案后能改别的公司吗做网站很难吗
  • 购物商城网站建设公司大学生简历免费制作网站
  • 报名工具小程序官网永康好口碑关键词优化
  • 网站建设系统分析网站广告js代码添加
  • 小型网站制作江浙区域网络公司排名
  • 石岩附近做网站公司网站上传 文件夹结构
  • 建设银行手机网站局域网建设网站视频教程
  • 网站建设标签网站用户 分析
  • 网站后台字体安装wordpress 插件 汉化
  • 做二手房需要用到哪些网站搜集房源网站推广方法
  • 石家庄制作网站的公司简介网站建设需要注意哪些事项
  • 自己做网站 需要哪些wordpress 插件放在那
  • 买域名之后怎样做网站网站怎么认证
  • 小程序在哪个网站做邯郸城乡建设部网站首页
  • 怎么申请免费企业网站app开发公司一个月可以赚多少钱
  • 开发网站代码量软件设计师中级考什么
  • 小型企业网站系统泰安网络营销公司
  • php网站源码删除上海新闻头条
  • 微软公司做网站的软件特产网站建设策划书
  • 常州网站建设招聘生道网站建设平台
  • 高端网站制作价格wordpress模板修改教程
  • 公司网站建设优点上海专业产品摄影
  • 做视频网站虚拟主机怎么选wordpress 代码编辑器
  • 网站 备案抚州网站建设
  • 搭建服务器做网站layerslider wordpress
  • 专业网站建设制作价格低九台网站
  • 十大SEO网站外链建设误区dedecms安装
  • 网站域名收费吗中山顺的网站建设