目錄
#一、預備知識:
二、建立專案步驟:
三、启动项目时可能出现的报错:
四、Todolist项目相关库:
五、GitHub搜索案例相关库:
六、尚硅谷路由案例相关库:
七、UI库案例相关库:
八、redux相关库:
首頁 web前端 前端問答 react啟動專案報錯怎麼辦

react啟動專案報錯怎麼辦

Dec 27, 2022 am 10:36 AM
react 專案

react啟動專案報錯的解決方法:1、進入專案資料夾,啟動專案並查看報錯資訊;2、執行「npm install」或「npm install react-scripts」命令;3、執行「npm install @ant-design/pro-field --save」指令。

react啟動專案報錯怎麼辦

#一、預備知識:

npm (也可以用yarn,本文以npm為例)

npm介紹

  • 全稱為Node Package Manager,是隨同NodeJS一起安裝的套件管理工具。
  • 允許使用者從NPM伺服器下載別人寫的第三方套件到本機使用。
  • 允許使用者從NPM伺服器下載並安裝別人編寫的命令列程式到本機使用。
  • 允許使用者將自己編寫的套件或命令列程式上傳到NPM伺服器供別人使用

#npm命令

  • npm -v來測試是否成功安裝
  • 查看目前目錄已安裝外掛程式:npm list
  • 使用npm 下載外掛程式:npm install [ -g ] [ --save-dev] <name></name>
  • 使用npm 更新外掛:npm update [ -g ] [ --save-dev ] <name> </name>

註解:

install可以簡寫為i,[]表示可選,表示必選

<name> </name>:套件(外掛程式庫)名稱

[ -g ]:全域安裝。將會安裝在C:\ Users \ Administrator \ AppData \ Roaming \ npm,並且寫入系統環境變數;全域安裝可以透過命令列,在任何地方呼叫;

非全域安裝:將會安裝在目前定位目錄;,本地安裝將安裝在定位目錄的node_modules 資料夾下,透過要求呼叫;

[ --save-dev]:寫入package.jsondependencies需要發佈到生產環境,例如react, vue全家桶,ele-ui等ui框架,這些專案運行時必須使用的插件,需要放到dependencies。

react啟動專案報錯怎麼辦

react啟動專案報錯怎麼辦

#cnpm

  • 淘寶團隊所做的國內鏡像,因為npm的伺服器位於國外可能會影響安裝。淘寶鏡像安裝速度一般更快。
  • 安裝:命令提示字元執行
    npm install cnpm -g --registry=https://registry.npm.taobao.org
  • cnpm -v來測試是否成功安裝

二、建立專案步驟:

1.全域安裝: npm install -g create-react-app

#2.切換到想建立專案的目錄後,新鷹架(hello-react):create-react-app hello-react

3.進入專案資料夾:cd hello-react

4.啟動專案:npm start

註解:

①專案正常啟動成功後,瀏覽器會出現以下頁面

react啟動專案報錯怎麼辦

②用vscode開啟專案資料夾可以看的有以下檔案:

如果需要揭露webpacke配置(創建完專案後不要做任何操作),直接執行以下程式碼:(此操作不可逆!)

npm run eject
登入後複製

然後輸入y ,可以看見多了兩個資料夾:

揭露檔案的作用:例如按需引入antd 自定主題

④安裝好腳手架後,可直接引入以下套件

//引入react核心组件主库
import React, { Component } from &#39;react&#39;
//引入ReactDOM 子库
import ReactDOM from &#39;react-dom&#39;
登入後複製

三、启动项目时可能出现的报错:

1. 'react-app-rewired' 不是内部或外部命令,也不是可运行的程序或批处理文件。

原因:可能是由于create-react-app出现丢包缺陷,手动安装包后,需要重新安装,这样node_modules/.bin/目录下才会重新出现react-scripts的文件,从而解决问题。

解决:npm install 或 npm install react-scripts

(若因为某些原因导致包出故障,就删除node_modules文件夹,重新npm install )

2.

./src/App.jsx

Module not found: Can't resolve '@ant-design/icons' in 'C:\Users\...

原因:没有安装@ant-design/pro-field

解决:npm install @ant-design/pro-field --save

四、Todolist项目相关库:

npm i prop-types
//对接收的props进行:类型、必要性的限制
import PropTypes from &#39;prop-types&#39;
npm i nanoid
//生成唯一标识 一般用来充当id或遍历时的index
import {nanoid} from &#39;nanoid&#39;
id:nanoid()
登入後複製

五、GitHub搜索案例相关库:

npm install pubsub-js --save
//消息订阅-发布机制
import PubSub from &#39;pubsub-js&#39;
npm install axios
//轻量级ajax请求库
import axios from &#39;axios&#39;
登入後複製

六、尚硅谷路由案例相关库:

npm install --save react-router-dom
//路由库,前端路由:value是component,用于展示页面内容;
//      后端路由:value是function, 用来处理客户端提交的请求。
import {BrowserRouter,HashRouter,NavLink,Link,Route} from &#39;react-router-dom&#39;
// V5及之前的版本才有以下三个
import {Switch,Redirect,withRouter} from &#39;react-router-dom&#39; 
// Switch:懒惰匹配  Redirect:重定向  withRouter:让一般组件具备路由组件所特有的API
 
npm i -save-dev query-string
// 对http请求所带的数据进行解析
import qs from &#39;querystring&#39;  import qs from &#39;qs&#39;
// qs.parse() 将字符串解析为对象
// qs.stringify() //将对象解析为字符串(urlencoded编码)
登入後複製

七、UI库案例相关库:

//开源React UI组件库
npm i antd
// 主库
import { Button,DatePicker } from &#39;antd&#39;;
// 子库 图标等
import {WechatOutlined,WeiboOutlined,SearchOutlined} from &#39;@ant-design/icons&#39;
// const 要写在 import后面
const { RangePicker } = DatePicker;
//按需引入 自定义主题步骤:
//1.安装依赖
yarn add react-app-rewired customize-cra babel-plugin-import less less-loader
//2.修改package.json
						"scripts": {
							"start": "react-app-rewired start",
							"build": "react-app-rewired build",
							"test": "react-app-rewired test",
							"eject": "react-scripts eject"
						},
 
//3.根目录下创建config-overrides.js
					const { override, fixBabelImports,addLessLoader} = require(&#39;customize-cra&#39;);
					module.exports = override(
						fixBabelImports(&#39;import&#39;, {
							libraryName: &#39;antd&#39;,
							libraryDirectory: &#39;es&#39;,
							style: true,
						}),
						addLessLoader({
							lessOptions:{
								javascriptEnabled: true,
								modifyVars: { &#39;@primary-color&#39;: &#39;green&#39; },
							}
						}),
					);
登入後複製

八、redux相关库:

// 一、基本redux  componnet==>一般组件Count  redux文件==>action、reducer、store.js
npm i redux
 
// redux异步action
npm i redux-thunk
 
// redux中,最为核心的store对象将state、action、reducer联系在一起的对象
// 1.建立store.js文,引入createStore,专门用于创建store对象
//    引入redux-thunk,applyMiddleware,用于支持异步action
import {createStore,applyMiddleware} from &#39;redux&#39;
import thunk from &#39;redux-thunk&#39;
 
// 2.引入为Count组件服务的reducer
import countReducer from &#39;./count_reducer&#39;
 
// 3. 语法:const store = createStore(reducer)
// store.js文件中一般如下:
export default createStore(countReducer,applyMiddleware(thunk))
 
// 4.store对象的功能
1)store.getState(): 得到state
2)store.dispatch({type:&#39;INCREMENT&#39;, number}): 分发action, 触发reducer调用, 产生新的state
3)store.subscribe(render): 注册监听, 当产生了新的state时, 自动调用
登入後複製
// 二、react-redux  容器组件[UI(同名)组件] : UI组件==>一般组件  containers组件==>外壳
npm i react-redux

//容器组件中,引入connect用于连接UI组件与redux
// Provider让多个组件都可以得到store中state数据
import {connect,Provider} from &#39;react-redux&#39;
//定义UI组件
class CountUI extends Component{...}
// 使用connect()()创建并暴露一个Count的容器组件
export default connect(mapStateToProps,mapDispatchToProps)(CountUI)
<Count store={store} />
// 给容器组件传递store 连接外部的redux; connect()()用于连接内部的内部的UI组件
 
// 数据共享
 
// store.js汇总所有的reducer变为一个总的reducer
import {combineReducers} from &#39;redux&#39;
const allReducer = combineReducers({
	he:countReducer,
	rens:personReducer
})
// containers组件中:
connect(
	state => ({key:value}), //映射状态 mapStateToProps
           {key:xxxAction} //映射操作状态的方法 mapDispatchToProps
        )(UI组件)
 
 
// redux开发者工具 chrome网上商店中搜索安装 Redux Devtools 工具
npm i redux-devtools-extension
 
import {composeWithDevTools} from &#39;redux-devtools-extension&#39;
export default createStore(reducer,composeWithDevTools(applyMiddleware(thunk)))
登入後複製

推荐学习:《react视频教程

以上是react啟動專案報錯怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1657
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
AI攻克費馬大定理?數學家放棄5年職業生涯,將100頁證明變代碼 AI攻克費馬大定理?數學家放棄5年職業生涯,將100頁證明變代碼 Apr 09, 2024 pm 03:20 PM

費馬大定理,即將被AI攻克?而整件事最有意義的地方在於,AI即將解決的費馬大定理,正是為了證明AI無用。曾經,數學屬於純粹的人類智力王國;如今,這片疆土正被先進的演算法所破解,所踐踏。圖片費馬大定理,是一個「臭名昭著」的謎題,在幾個世紀以來,一直困擾著數學家。它在1993年被證明,而現在,數學家們有一個偉大計畫:用電腦把證明過程重現。他們希望在這個版本的證明中,如果有任何邏輯上的錯誤,都可以由電腦檢查出來。專案網址:https://github.com/riccardobrasca/flt

PHP、Vue和React:如何選擇最適合的前端框架? PHP、Vue和React:如何選擇最適合的前端框架? Mar 15, 2024 pm 05:48 PM

PHP、Vue和React:如何選擇最適合的前端框架?隨著互聯網技術的不斷發展,前端框架在Web開發中起著至關重要的作用。 PHP、Vue和React作為三種代表性的前端框架,每一種都具有其獨特的特徵和優勢。在選擇使用哪種前端框架時,開發人員需要根據專案需求、團隊技能和個人偏好做出明智的決策。本文將透過比較PHP、Vue和React這三種前端框架的特徵和使

Java框架與前端React框架的整合 Java框架與前端React框架的整合 Jun 01, 2024 pm 03:16 PM

Java框架與React框架的整合:步驟:設定後端Java框架。建立專案結構。配置建置工具。建立React應用程式。編寫RESTAPI端點。配置通訊機制。實戰案例(SpringBoot+React):Java程式碼:定義RESTfulAPI控制器。 React程式碼:取得並顯示API回傳的資料。

vue.js vs.反應:特定於項目的考慮因素 vue.js vs.反應:特定於項目的考慮因素 Apr 09, 2025 am 12:01 AM

Vue.js適合中小型項目和快速迭代,React適用於大型複雜應用。 1)Vue.js易於上手,適用於團隊經驗不足或項目規模較小的情況。 2)React的生態系統更豐富,適合有高性能需求和復雜功能需求的項目。

多個大熱門項目背後的'操盤手”,比特幣NFT項目NodeMonkes迎強勢漲勢 多個大熱門項目背後的'操盤手”,比特幣NFT項目NodeMonkes迎強勢漲勢 Feb 27, 2024 am 11:58 AM

團隊背景以及金鏟子屬性等多方因素加持下,NodeMonkes節點猴價格屢創新高,被認為是比特幣NFT龍頭的有力競爭者。那麼,在一眾小圖片同台競技中,NodeMonkes如何在短期快速凝聚社群共識,並在火熱的比特幣市場佔有一席之地的? 「NodeMonkes不是一個機構、運動、理事會或DAO,沒有任何效用、路線圖、事件和商品等,但喜歡嘗試和創造很酷的東西並享受它們。」作為第二個登陸知名拍賣行蘇富比的比特幣項目,NodeMonkes是比特幣上首個原創10KPFP系列,總量為1萬個,由匿名成員Nodet

React在HTML中的作用:增強用戶體驗 React在HTML中的作用:增強用戶體驗 Apr 09, 2025 am 12:11 AM

React通過JSX與HTML結合,提升用戶體驗。 1)JSX嵌入HTML,使開發更直觀。 2)虛擬DOM機制優化性能,減少DOM操作。 3)組件化管理UI,提高可維護性。 4)狀態管理和事件處理增強交互性。

React與Vue:Netflix使用哪個框架? React與Vue:Netflix使用哪個框架? Apr 14, 2025 am 12:19 AM

NetflixusesAcustomFrameworkcalled“ Gibbon” BuiltonReact,notReactorVuedIrectly.1)TeamSperience:selectBasedonFamiliarity.2)ProjectComplexity:vueforsimplerprojects:reactforforforproproject,reactforforforcompleplexones.3)cocatizationneedneeds:reactoffipicatizationneedneedneedneedneedneeds:reactoffersizationneedneedneedneedneeds:reactoffersizatization needefersmoreflexibleise.4)

Golang 計畫大揭密:探索Go語言的熱門工程 Golang 計畫大揭密:探索Go語言的熱門工程 Feb 29, 2024 pm 04:09 PM

Golang專案大揭密:探索Go語言的熱門工程Go語言作為一種高效、簡潔而又功能強大的程式語言,近年來備受開發者的關注和青睞。在眾多專案中,有一些備受推崇的熱門工程憑藉其高效能、​​並發處理、簡潔程式碼等特點,成為了吸引大量開發者的焦點。本文將帶領讀者一起深入探索這些優秀的Go項目,結合具體的程式碼範例,揭示它們背後的設計想法和工程實現。 1.GinGin是一款用

See all articles