我刚开始学习React Native并希望在页面中添加输入字段。我已通过this tutorial添加输入字段。但每当我运行React App时,它都会抛出以下错误。
./src/Inputs.js
Module not found: Can't resolve 'react-native' in 'E:\hybrid\reactDemo\src'
我已经检查了反应原生节点模块是否存在,然后我才知道模块反应本机不存在。我安装它再次运行应用程序,但它显示相同的错误。我花了8个多小时但却无法解决此错误。我已经尝试了谷歌的所有解决方案,但没有一个适合我。
注意: 我使用的是Windows PC
更新1:我正在导入react-native,如下面的
import { View, Text, TouchableOpacity, TextInput, StyleSheet } from 'react-native'
更新2:
这是我的package.json文件
{
"name": "reactDemo",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.3.1",
"react-dom": "^16.3.1",
"react-native": "^0.54.4",
"react-router": "^3.0.5",
"react-scripts": "1.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
答案 0 :(得分:7)
我不确定,但就我而言,它有助于通过 npm install react-native-web
安装 React Native Web。希望对你也有帮助。
答案 1 :(得分:2)
您的项目看不到react-native软件包。如果您已经安装了所有必需的依赖项(以使用react-native),请转到本文结尾。如果没有,我建议您具有以下条件:
================================================ =======================
首先,您需要兼容的babel-jest依赖项。要修复依赖关系树,请尝试按照确切的顺序执行以下步骤:
上面的配置不需要您手动配置webpack,因为react-scripts可以做到。
也许您既不使用所有内容,也不使用react-scripts,因此必须配置webpack.config.js。要解决此问题,请尝试以下操作:
const path = require('path')
module.exports = ({platform}, defaults) => ({
...defaults,
entry: './index.js',
/* ... */
resolve: {
...defaults.resolve,
alias: {
...defaults.resolve.alias,
react: path.join(__dirname, 'node_modules/react'),
'react-native': path.join(__dirname, 'node_modules/react-native'),
}
}
})
答案 2 :(得分:0)
你的package.json是什么样的?
它是否包含“react-native”:依赖项下的“x.x.x”?
答案 3 :(得分:0)
文件路径未正确提及。请再次检查。问题是您从外部导入src目录中的文件,并确认文件在上述路径中。
答案 4 :(得分:0)
您正在尝试在其他react项目中添加react-native。 React Native就像React,但是它使用本地组件而不是Web组件作为构建块。 因此,请在新文件夹中使用 npm install -g react-native-cli 安装react-native,然后使用 react-native init ProjectName 启动新的react-native项目。 >
在React Native项目文件夹中运行 react-native run-ios / run-android
答案 5 :(得分:0)
要将网络支持添加到现有的 Expo 应用程序,您可以执行以下操作:
npm i -g expo-cli
yarn add react-native-web react-dom
expo start:web
在纯网络模式下更快启动您还可以运行 expo start --web
,它会立即启动 Webpack。答案 6 :(得分:0)
只需在主应用程序文件夹中运行 npm install
即可解决我的问题。