亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)的完美解決方法

 更新時(shí)間:2022年08月23日 14:59:39   作者:小白目  
這篇文章主要介紹了react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)的完美解決方法,全稱(chēng)為Node Package Manager,是隨同NodeJS一起安裝的包管理工具,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

一、預(yù)備知識(shí):

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

npm介紹

  • 全稱(chēng)為Node Package Manager,是隨同NodeJS一起安裝的包管理工具。
  • 允許用戶(hù)從NPM服務(wù)器下載別人編寫(xiě)的第三方包到本地使用。
  • 允許用戶(hù)從NPM服務(wù)器下載并安裝別人編寫(xiě)的命令行程序到本地使用。
  • 允許用戶(hù)將自己編寫(xiě)的包或命令行程序上傳到NPM服務(wù)器供別人使用

npm命令

  • npm -v來(lái)測(cè)試是否成功安裝
  • 查看當(dāng)前目錄已安裝插件:npm list
  • 使用 npm 下載插件:npm install [ -g ] [ --save-dev] <name>
  • 使用 npm 更新插件:npm update [ -g ] [ --save-dev ] <name>

注釋?zhuān)?/p>

install可以簡(jiǎn)寫(xiě)為 i,[]表示可選,<>表示必選

<name> :包(插件庫(kù))名

[ -g ]:全局安裝。 將會(huì)安裝在C:\ Users \ Administrator \ AppData \ Roaming \ npm,并且寫(xiě)入系統(tǒng)環(huán)境變量;全局安裝可以通過(guò)命令行,在任何地方調(diào)用;

非全局安裝:將會(huì)安裝在當(dāng)前定位目錄;,本地安裝將安裝在定位目錄的node_modules 文件夾下,通過(guò)要求調(diào)用;

[ --save-dev]:寫(xiě)入package.jsondependencies需要發(fā)布到生產(chǎn)環(huán)境,比如react, vue全家桶,ele-ui等ui框架,這些項(xiàng)目運(yùn)行時(shí)必須使用的插件,需要放到 dependencies。

cnpm

  • 淘寶團(tuán)隊(duì)做的國(guó)內(nèi)鏡像,因?yàn)閚pm的服務(wù)器位于國(guó)外可能會(huì)影響安裝。淘寶鏡像安裝速度一般更快。
  • 安裝:命令提示符執(zhí)行
    npm install cnpm -g --registry=https://registry.npm.taobao.org
  • cnpm -v來(lái)測(cè)試是否成功安裝

二、創(chuàng)建項(xiàng)目步驟:

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

2.切換到想創(chuàng)建項(xiàng)目的目錄后,新建腳手架(hello-react):create-react-app hello-react

3.進(jìn)入項(xiàng)目文件夾:cd hello-react

4.啟動(dòng)項(xiàng)目:npm start

注釋?zhuān)?/strong>

①項(xiàng)目正常啟動(dòng)成功后,瀏覽器會(huì)出現(xiàn)以下頁(yè)面

②用vscode打開(kāi)項(xiàng)目文件夾可以看的有以下文件:

如果需要暴露webpacke配置(創(chuàng)建完項(xiàng)目后不要做任何操作),直接執(zhí)行以下代碼:(此操作不可逆!)

npm run eject

然后輸入y ,可以看見(jiàn)多了倆個(gè)文件夾:

暴露文件的作用:比如按需引入antd+自定主題

④安裝好腳手架后,可直接引入以下包

//引入react核心組件主庫(kù)
import React, { Component } from 'react'
//引入ReactDOM 子庫(kù)
import ReactDOM from 'react-dom'

三、啟動(dòng)項(xiàng)目時(shí)可能出現(xiàn)的報(bào)錯(cuò):

1. 'react-app-rewired' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。

原因:可能是由于create-react-app出現(xiàn)丟包缺陷,手動(dòng)安裝包后,需要重新安裝,這樣node_modules/.bin/目錄下才會(huì)重新出現(xiàn)react-scripts的文件,從而解決問(wèn)題。

解決:npm install 或 npm install react-scripts

(若因?yàn)槟承┰驅(qū)е掳龉收希蛣h除node_modules文件夾,重新npm install )

2.

./src/App.jsx

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

原因:沒(méi)有安裝@ant-design/pro-field

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

四、Todolist項(xiàng)目相關(guān)庫(kù):

npm i prop-types
//對(duì)接收的props進(jìn)行:類(lèi)型、必要性的限制
import PropTypes from 'prop-types'
npm i nanoid
//生成唯一標(biāo)識(shí) 一般用來(lái)充當(dāng)id或遍歷時(shí)的index
import {nanoid} from 'nanoid'
id:nanoid()

五、GitHub搜索案例相關(guān)庫(kù):

npm install pubsub-js --save
//消息訂閱-發(fā)布機(jī)制
import PubSub from 'pubsub-js'
npm install axios
//輕量級(jí)ajax請(qǐng)求庫(kù)
import axios from 'axios'

六、尚硅谷路由案例相關(guān)庫(kù):

npm install --save react-router-dom
//路由庫(kù),前端路由:value是component,用于展示頁(yè)面內(nèi)容;
//      后端路由:value是function, 用來(lái)處理客戶(hù)端提交的請(qǐng)求。
import {BrowserRouter,HashRouter,NavLink,Link,Route} from 'react-router-dom'
// V5及之前的版本才有以下三個(gè)
import {Switch,Redirect,withRouter} from 'react-router-dom' 
// Switch:懶惰匹配  Redirect:重定向  withRouter:讓一般組件具備路由組件所特有的API
 
npm i -save-dev query-string
// 對(duì)http請(qǐng)求所帶的數(shù)據(jù)進(jìn)行解析
import qs from 'querystring'  import qs from 'qs'
// qs.parse() 將字符串解析為對(duì)象
// qs.stringify() //將對(duì)象解析為字符串(urlencoded編碼)

七、UI庫(kù)案例相關(guān)庫(kù):

//開(kāi)源React UI組件庫(kù)
npm i antd
// 主庫(kù)
import { Button,DatePicker } from 'antd';
// 子庫(kù) 圖標(biāo)等
import {WechatOutlined,WeiboOutlined,SearchOutlined} from '@ant-design/icons'
// const 要寫(xiě)在 import后面
const { RangePicker } = DatePicker;
//按需引入 自定義主題步驟:
//1.安裝依賴(lài)
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.根目錄下創(chuàng)建config-overrides.js
					const { override, fixBabelImports,addLessLoader} = require('customize-cra');
					module.exports = override(
						fixBabelImports('import', {
							libraryName: 'antd',
							libraryDirectory: 'es',
							style: true,
						}),
						addLessLoader({
							lessOptions:{
								javascriptEnabled: true,
								modifyVars: { '@primary-color': 'green' },
							}
						}),
					);

八、redux相關(guān)庫(kù):

// 一、基本redux  componnet==>一般組件Count  redux文件==>action、reducer、store.js
npm i redux
 
// redux異步action
npm i redux-thunk
 
// redux中,最為核心的store對(duì)象將state、action、reducer聯(lián)系在一起的對(duì)象
// 1.建立store.js文,引入createStore,專(zhuān)門(mén)用于創(chuàng)建store對(duì)象
//    引入redux-thunk,applyMiddleware,用于支持異步action
import {createStore,applyMiddleware} from 'redux'
import thunk from 'redux-thunk'
 
// 2.引入為Count組件服務(wù)的reducer
import countReducer from './count_reducer'
 
// 3. 語(yǔ)法:const store = createStore(reducer)
// store.js文件中一般如下:
export default createStore(countReducer,applyMiddleware(thunk))
 
// 4.store對(duì)象的功能
1)store.getState(): 得到state
2)store.dispatch({type:'INCREMENT', number}): 分發(fā)action, 觸發(fā)reducer調(diào)用, 產(chǎn)生新的state
3)store.subscribe(render): 注冊(cè)監(jiān)聽(tīng), 當(dāng)產(chǎn)生了新的state時(shí), 自動(dòng)調(diào)用
// 二、react-redux  容器組件[UI(同名)組件] : UI組件==>一般組件  containers組件==>外殼
npm i react-redux

//容器組件中,引入connect用于連接UI組件與redux
// Provider讓多個(gè)組件都可以得到store中state數(shù)據(jù)
import {connect,Provider} from 'react-redux'
//定義UI組件
class CountUI extends Component{...}
// 使用connect()()創(chuàng)建并暴露一個(gè)Count的容器組件
export default connect(mapStateToProps,mapDispatchToProps)(CountUI)
<Count store={store} />
// 給容器組件傳遞store 連接外部的redux; connect()()用于連接內(nèi)部的內(nèi)部的UI組件
 
// 數(shù)據(jù)共享
 
// store.js匯總所有的reducer變?yōu)橐粋€(gè)總的reducer
import {combineReducers} from 'redux'
const allReducer = combineReducers({
	he:countReducer,
	rens:personReducer
})
// containers組件中:
connect(
	state => ({key:value}), //映射狀態(tài) mapStateToProps
           {key:xxxAction} //映射操作狀態(tài)的方法 mapDispatchToProps
        )(UI組件)
 
 
// redux開(kāi)發(fā)者工具 chrome網(wǎng)上商店中搜索安裝 Redux Devtools 工具
npm i redux-devtools-extension
 
import {composeWithDevTools} from 'redux-devtools-extension'
export default createStore(reducer,composeWithDevTools(applyMiddleware(thunk)))

學(xué)習(xí)網(wǎng)站分享

react中文文檔:入門(mén)教程: 認(rèn)識(shí) React – React

react(阮一峰):React 技術(shù)棧系列教程 - 阮一峰的網(wǎng)絡(luò)日志

路由:React Router: Declarative Routing for React.js

到此這篇關(guān)于react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)的完美解決方法的文章就介紹到這了,更多相關(guān)react創(chuàng)建項(xiàng)目報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React組件學(xué)習(xí)之Hooks使用

    React組件學(xué)習(xí)之Hooks使用

    這篇文章主要介紹了React hooks組件通信,在開(kāi)發(fā)中組件通信是React中的一個(gè)重要的知識(shí)點(diǎn),本文通過(guò)實(shí)例代碼給大家講解react hooks中常用的父子、跨組件通信的方法,需要的朋友可以參考下
    2022-08-08
  • React使用emotion寫(xiě)css代碼

    React使用emotion寫(xiě)css代碼

    這篇文章主要介紹了React如何使用emotion寫(xiě)css代碼,幫助大家更好的理解和學(xué)習(xí)使用React,感興趣的朋友可以了解下
    2021-04-04
  • React 自動(dòng)聚焦字段使用詳解

    React 自動(dòng)聚焦字段使用詳解

    這篇文章主要為大家介紹了React 自動(dòng)聚焦字段使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • React路由鑒權(quán)的實(shí)現(xiàn)方法

    React路由鑒權(quán)的實(shí)現(xiàn)方法

    這篇文章主要介紹了React路由鑒權(quán)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • react中使用better-scroll滾動(dòng)插件的實(shí)現(xiàn)示例

    react中使用better-scroll滾動(dòng)插件的實(shí)現(xiàn)示例

    滾動(dòng)在很多地方都可以使用,本文主要介紹了react中使用better-scroll滾動(dòng)插件的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • ReactJs快速入門(mén)教程(精華版)

    ReactJs快速入門(mén)教程(精華版)

    React 起源于 Facebook 的內(nèi)部項(xiàng)目,因?yàn)樵摴緦?duì)市場(chǎng)上所有 JavaScript MVC 框架,都不滿(mǎn)意,就決定自己寫(xiě)一套,用來(lái)架設(shè) Instagram 的網(wǎng)站.這篇文章主要介紹了ReactJs快速入門(mén)教程(精華版)的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • React組件的生命周期詳細(xì)描述

    React組件的生命周期詳細(xì)描述

    本篇文章主要介紹了React組件生命周期,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-10-10
  • 一文詳解React中如何處理高階組件中的錯(cuò)誤

    一文詳解React中如何處理高階組件中的錯(cuò)誤

    在?React?高階組件中處理錯(cuò)誤是確保應(yīng)用程序健壯性和穩(wěn)定性的重要環(huán)節(jié),本文為大家整理了一些處理高階組件中錯(cuò)誤的常見(jiàn)方法,需要的小伙伴可以參考下
    2025-02-02
  • React框架快速實(shí)現(xiàn)簡(jiǎn)易的Markdown編輯器

    React框架快速實(shí)現(xiàn)簡(jiǎn)易的Markdown編輯器

    這篇文章主要為大家介紹了使用React框架實(shí)現(xiàn)簡(jiǎn)易的Markdown編輯器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • React實(shí)現(xiàn)核心Diff算法的示例代碼

    React實(shí)現(xiàn)核心Diff算法的示例代碼

    這篇文章主要為大家詳細(xì)介紹了React如何實(shí)現(xiàn)Diff算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-04-04

最新評(píng)論