> 웹 프론트엔드 > 프런트엔드 Q&A > React 프로젝트 시작 시 오류가 발생하면 어떻게 해야 할까요?

React 프로젝트 시작 시 오류가 발생하면 어떻게 해야 할까요?

藏色散人
풀어 주다: 2022-12-27 10:36:08
원래의
3916명이 탐색했습니다.

반응 프로젝트 시작 시 오류 해결 방법: 1. 프로젝트 폴더에 들어가서 프로젝트를 시작한 후 오류 메시지를 확인합니다. 2. "npm install" 또는 "npm install React-scripts" 명령을 실행합니다. npm install @ant-design/pro-field --save" 명령을 실행합니다.

React 프로젝트 시작 시 오류가 발생하면 어떻게 해야 할까요?

1. 사전 지식:

npm (yarn을 사용할 수도 있습니다. 이 글에서는 npm을 예로 사용합니다.)

npm 소개

  • 전체 이름 Node Package Manager는 NodeJS와 함께 설치되는 패키지 관리 도구입니다.
  • 사용자가 로컬 사용을 위해 NPM 서버에서 다른 사람이 작성한 타사 패키지를 다운로드할 수 있습니다.
  • 사용자가 로컬 사용을 위해 NPM 서버에서 다른 사람이 작성한 명령줄 프로그램을 다운로드하고 설치할 수 있습니다.
  • 사용자가 NPM 서버에 자신의 패키지나 명령줄 프로그램을 업로드하여 다른 사람이

npm command

  • npm -v를 사용하여 설치 성공 여부를 테스트할 수 있도록 허용합니다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
  • 현재 디렉토리 보기 설치된 플러그인: npm list

npm을 사용하여 플러그인 다운로드: npm install [ -g ] [ --save-dev] <name></name>

npm을 사용하여 플러그인 업데이트 :npm update [ -g ] [ --save-dev ] <name></name>

참고:

install은 i로 축약될 수 있습니다. []는 선택 사항,

<name> </name>: 패키지(플러그인 라이브러리) 이름

[ -g ]: 전역 설치 . C: 사용자 관리자 AppData Roaming npm에 설치되고 시스템 환경 변수에 기록됩니다.

전역 설치는 명령줄을 통해 어디서나 호출할 수 있습니다.

비전역 설치: 현재 위치 디렉터리에 설치됩니다. ;, 로컬 설치 위치 디렉터리의 node_modules 폴더 아래에 설치되며 요청에 의해 호출됩니다.

React 프로젝트 시작 시 오류가 발생하면 어떻게 해야 할까요?[ --save-dev]:패키지의 <code>종속성 /code>는 반응, vue 제품군 버킷, ele-ui 및 기타 UI 프레임워크와 같은 프로덕션 환경에 게시되어야 합니다. 이러한 프로젝트를 실행할 때 사용해야 하는 플러그인은 다음 위치에 배치되어야 합니다. 의존성. React 프로젝트 시작 시 오류가 발생하면 어떻게 해야 할까요?

React 프로젝트 시작 시 오류가 발생하면 어떻게 해야 할까요?

cnpm

국내 미러링은 타오바오 팀에서 제작했습니다. npm 서버가 해외에 있기 때문에 설치에 영향을 줄 수 있습니다. Taobao 미러 설치 속도는 일반적으로 더 빠릅니다.

설치: 명령 프롬프트 실행
npm install cnpm -g --registry=https://registry.npm.taobao.org

cnpm -v 설치 성공 여부를 테스트하려면

2. 프로젝트 생성 단계:

1. 전역 설치: npm install -g create-react-app

2. , 새 스캐폴딩 생성(hello-react ): create-react-app hello-react

3. 프로젝트 폴더로 이동합니다: cd hello-react
🎜4. 프로젝트 시작: npm start🎜🎜🎜참고: 🎜🎜🎜 ①프로젝트가 성공적으로 시작되면 브라우저에 다음 페이지가 나타납니다. 🎜🎜🎜🎜🎜 ② vscode를 사용하여 프로젝트 폴더를 열면 다음 파일을 볼 수 있습니다. 🎜🎜🎜🎜🎜3🎜웹팩 구성을 🎜 노출해야 하는 경우 (프로젝트 생성 후 아무것도 하지 마세요), 다음 코드를 직접 실행하세요. (이 작업은 되돌릴 수 없습니다!)🎜🎜
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿