无法在我的项目中解析“react-native”

Posted

技术标签:

【中文标题】无法在我的项目中解析“react-native”【英文标题】:Can't resolve 'react-native' in my project 【发布时间】:2019-12-05 16:31:23 【问题描述】:

我从 React 官方网站制作了教程小项目,当我尝试使用一些原生的 React 组件(例如 Text 和 ImageBackground)时,我得到以下编译错误:

未找到模块:无法解析...中的“react-native”

我使用“npx create-react-app”创建了我的项目。

我所做的导入。

import  Text, ImageBackground  from 'react-native'

我尝试执行 npm install 和 npm install 'react-native-elements' 等等...没有任何效果。

无论如何,这是我的 package.json:


  "name": "tutorial",
  "version": "0.1.0",
  "private": true,
  "dependencies": 
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-scripts": "3.2.0"
  ,
  "scripts": 
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  ,
  "eslintConfig": 
    "extends": "react-app"
  ,
  "browserslist": 
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  

有什么想法吗?

【问题讨论】:

您的依赖项中没有 react-native,请执行 npm i react-native 已经这样做了。没用。 那么请更新你的 package.json 我做了 npm install react-native 然后 npm update 和 npm install,但它仍然显示错误。 是的。它是一个模块,但 react 用于 web 和 react-native 用于移动设备,你不能使用 react web app 创建一个 react native 项目。 【参考方案1】:

React 项目和 React Native 项目是不同的。 你必须使用React Native CLI

【讨论】:

【参考方案2】:

对于 React Native 移动应用程序

使用该命令创建 react 原生项目 androidios 应用。

npx react-native init AwesomeProject

您还需要一些其他配置来运行此项目,例如 node.js、android studio、android sdk 和 xcode for ios。您可以点击此链接了解更多详情。

https://facebook.github.io/react-native/docs/getting-started

对于 React Web 应用程序

npx create-react-app 上面的命令用于 react native web app。

【讨论】:

【参考方案3】:

要创建一个新的 react-native 项目,请从您的 cmd / 终端运行此命令:

react-native init

您遇到此问题的原因是所需的模块未包含在您的 package.json 中。运行上述命令后,npm 将安装项目所需的所有依赖项。 您在问题中提到的命令没有达到预期的效果。

【讨论】:

以上是关于无法在我的项目中解析“react-native”的主要内容,如果未能解决你的问题,请参考以下文章

文件无法脱机工作(React-Native)

React-Native 无法构建项目

React-native 无法打开 ios 模拟器调试菜单

react-native错误:无法解析模块`AccessibilityInfo`

我可以在我的反应原生项目中使用引导模板吗

React-Native Metro 捆绑器无法提供任何文件