本篇內(nèi)容主要講解“react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)如何解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)如何解決”吧!
創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元霍山做網(wǎng)站,已為上家服務(wù),為霍山各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
npm (也可以用yarn,本文以npm為例)
npm介紹
全稱為Node Package Manager,是隨同NodeJS一起安裝的包管理工具。
允許用戶從NPM服務(wù)器下載別人編寫的第三方包到本地使用。
允許用戶從NPM服務(wù)器下載并安裝別人編寫的命令行程序到本地使用。
允許用戶將自己編寫的包或命令行程序上傳到NPM服務(wù)器供別人使用
npm命令
npm -v
來測(cè)試是否成功安裝
查看當(dāng)前目錄已安裝插件:npm list
使用 npm 下載插件:npm install [ -g ] [ --save-dev] <name>
使用 npm 更新插件:npm update [ -g ] [ --save-dev ] <name>
注釋:
install可以簡(jiǎn)寫為 i,[]表示可選,<>表示必選
<name>
:包(插件庫)名
[ -g ]:
全局安裝。 將會(huì)安裝在C:\ Users \ Administrator \ AppData \ Roaming \ npm,并且寫入系統(tǒng)環(huán)境變量;全局安裝可以通過命令行,在任何地方調(diào)用;
非全局安裝:將會(huì)安裝在當(dāng)前定位目錄;,本地安裝將安裝在定位目錄的node_modules 文件夾下,通過要求調(diào)用;
[ --save-dev]:
寫入package.json
的dependencies
需要發(fā)布到生產(chǎn)環(huán)境,比如react, vue全家桶,ele-ui等ui框架,這些項(xiàng)目運(yùn)行時(shí)必須使用的插件,需要放到 dependencies。
cnpm
淘寶團(tuán)隊(duì)做的國內(nèi)鏡像,因?yàn)閚pm的服務(wù)器位于國外可能會(huì)影響安裝。淘寶鏡像安裝速度一般更快。
安裝:命令提示符執(zhí)行npm install cnpm -g --registry=https://registry.npm.taobao.org
cnpm -v
來測(cè)試是否成功安裝
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
注釋:
①項(xiàng)目正常啟動(dòng)成功后,瀏覽器會(huì)出現(xiàn)以下頁面
②用vscode打開項(xiàng)目文件夾可以看的有以下文件:
③如果需要暴露webpacke配置(創(chuàng)建完項(xiàng)目后不要做任何操作),直接執(zhí)行以下代碼:(此操作不可逆!)
npm run eject
然后輸入y ,可以看見多了倆個(gè)文件夾:
暴露文件的作用:比如按需引入antd+自定主題
④安裝好腳手架后,可直接引入以下包
//引入react核心組件主庫 import React, { Component } from 'react' //引入ReactDOM 子庫 import ReactDOM from 'react-dom'
1. 'react-app-rewired' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。
原因:可能是由于create-react-app出現(xiàn)丟包缺陷,手動(dòng)安裝包后,需要重新安裝,這樣node_modules/.bin/目錄下才會(huì)重新出現(xiàn)react-scripts的文件,從而解決問題。
解決:npm install 或 npm install react-scripts
(若因?yàn)槟承┰驅(qū)е掳龉收?,就刪除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
npm i prop-types //對(duì)接收的props進(jìn)行:類型、必要性的限制 import PropTypes from 'prop-types' npm i nanoid //生成唯一標(biāo)識(shí) 一般用來充當(dāng)id或遍歷時(shí)的index import {nanoid} from 'nanoid' id:nanoid()
npm install pubsub-js --save //消息訂閱-發(fā)布機(jī)制 import PubSub from 'pubsub-js' npm install axios //輕量級(jí)ajax請(qǐng)求庫 import axios from 'axios'
npm install --save react-router-dom //路由庫,前端路由:value是component,用于展示頁面內(nèi)容; // 后端路由:value是function, 用來處理客戶端提交的請(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編碼)
//開源React UI組件庫 npm i antd // 主庫 import { Button,DatePicker } from 'antd'; // 子庫 圖標(biāo)等 import {WechatOutlined,WeiboOutlined,SearchOutlined} from '@ant-design/icons' // 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.根目錄下創(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 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,專門用于創(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. 語法: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)聽, 當(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開發(fā)者工具 chrome網(wǎng)上商店中搜索安裝 Redux Devtools 工具 npm i redux-devtools-extension import {composeWithDevTools} from 'redux-devtools-extension' export default createStore(reducer,composeWithDevTools(applyMiddleware(thunk)))
到此,相信大家對(duì)“react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)如何解決”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞名稱:react創(chuàng)建項(xiàng)目啟動(dòng)報(bào)錯(cuò)如何解決
當(dāng)前路徑:http://www.rwnh.cn/article8/peopop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、企業(yè)建站、手機(jī)網(wǎng)站建設(shè)、建站公司、做網(wǎng)站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)