开发服务器返回响应错误代码:500 in react native

时间:2017-01-23 09:20:05

标签: android react-native react-native-android

我正在使用react-native框架来开发我的Android应用程序。我想使用react-native-material-design库来创建具有更多功能的Toolbar

我在当前目录中安装了这个库,我的项目在命令下使用: -

E:\>npm i react-native-material-design -g --save
C:\Users\ch-e00925\AppData\Roaming\npm
`-- react-native-material-design@0.3.7
  +-- react-native-material-design-styles@0.2.6  (git+https://github.com/react-n
ative-material-design/react-native-material-design-styles.git#bdc029c1a1c83ff563
d10868be38b8aed1e9989b)
  `-- react-native-vector-icons@2.1.0
    +-- lodash@4.17.4
    `-- yargs@4.8.1
      +-- cliui@3.2.0
      | +-- strip-ansi@3.0.1
      | | `-- ansi-regex@2.1.1
      | `-- wrap-ansi@2.1.0
      +-- decamelize@1.2.0
      +-- get-caller-file@1.0.2
      +-- lodash.assign@4.2.0
      +-- os-locale@1.4.0
      | `-- lcid@1.0.0
      |   `-- invert-kv@1.0.0
      +-- read-pkg-up@1.0.1
      | +-- find-up@1.1.2
      | | +-- path-exists@2.1.0
      | | `-- pinkie-promise@2.0.1
      | |   `-- pinkie@2.0.4
      | `-- read-pkg@1.1.0
      |   +-- load-json-file@1.1.0
      |   | +-- graceful-fs@4.1.11
      |   | +-- parse-json@2.2.0
      |   | | `-- error-ex@1.3.0
      |   | |   `-- is-arrayish@0.2.1
      |   | +-- pify@2.3.0
      |   | `-- strip-bom@2.0.0
      |   |   `-- is-utf8@0.2.1
      |   +-- normalize-package-data@2.3.5
      |   | +-- hosted-git-info@2.1.5
      |   | +-- is-builtin-module@1.0.0
      |   | | `-- builtin-modules@1.1.1
      |   | +-- semver@5.3.0
      |   | `-- validate-npm-package-license@3.0.1
      |   |   +-- spdx-correct@1.0.2
      |   |   | `-- spdx-license-ids@1.2.2
      |   |   `-- spdx-expression-parse@1.0.4
      |   `-- path-type@1.1.0
      +-- require-directory@2.1.1
      +-- require-main-filename@1.0.1
      +-- set-blocking@2.0.0
      +-- string-width@1.0.2
      | +-- code-point-at@1.1.0
      | `-- is-fullwidth-code-point@1.0.0
      |   `-- number-is-nan@1.0.1
      +-- which-module@1.0.0
      +-- window-size@0.2.0
      +-- y18n@3.2.1
      `-- yargs-parser@2.4.1
        `-- camelcase@3.0.0


E:\>

在此之后,我在运行应用程序时遇到一个问题,可能是库未成功安装。

E:\Myntra>react-native start
Scanning 557 folders for symlinks in E:\Myntra\node_modules (114ms)
 ┌────────────────────────────────────────────────────────────────────────────┐

 │  Running packager on port 8081.                                            │

 │                                                                            │

 │  Keep this packager running while developing on any JS projects. Feel      │

 │  free to close this tab and run your own packager instance if you          │

 │  prefer.                                                                   │

 │                                                                            │

 │  https://github.com/facebook/react-native                                  │

 │                                                                            │

 └────────────────────────────────────────────────────────────────────────────┘

Looking for JS files in
   E:\Myntra

[01/23/2017, 13:36:07] <START> Initializing Packager
[01/23/2017, 13:36:08]         HMR Server listening on /hot

React packager ready.

[01/23/2017, 13:36:12] <START> Requesting bundle
                               bundle_url: /index.android.bundle?platform=androi
d&dev=true&hot=true&minify=false
[01/23/2017, 13:36:40] <START> Building Haste Map
[01/23/2017, 13:36:40] <END>   Building Haste Map (141ms)
[01/23/2017, 13:36:40] <END>   Initializing Packager (33314ms)
[01/23/2017, 13:36:40] <START> Transforming files
transformed 584/607 (96%)(node:6316) UnhandledPromiseRejectionWarning: Unhandled
 promise rejection (rejection id: 605): UnableToResolveError: Unable to resolve
module react-native-material-design-styles from E:\Myntra\node_modules\react-nat
ive-material-design\lib\config.js: Module does not exist in the module map or in
 these directories:
  E:\Myntra\node_modules\react-native-material-design\node_modules
,   E:\Myntra\node_modules

This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
  1. Clear watchman watches: `watchman watch-del-all`.
  2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
  3. Reset packager cache: `rm -fr $TMPDIR/react-*` or `npm start -- --reset-cac
he`.
[01/23/2017, 13:54:09] <START> Requesting bundle
                               bundle_url: /index.android.bundle?platform=androi
d&dev=true&hot=true&minify=false
PS:我在Windows 7机器上,找不到执行命令的方法。我见过这个The development server returned response error code: 500 in react-native,但它没有帮助我。

任何人都可以帮我解决这个问题。提前谢谢。

enter image description here

18 个答案:

答案 0 :(得分:9)

babel-preset-react-native让这个麻烦。在项目根目录中运行以下订单:

$ yarn remove babel-preset-react-native

$ yarn add babel-preset-react-native@2.1.0

答案 1 :(得分:5)

尝试在本地而不是全局安装react-native-material-design

看起来反应本机材料设计取决于反应本机材料设计风格,它们不会被React Native的捆绑包打包,因为它的父级是全局模块。

答案 2 :(得分:4)

如果您未指定 .js文件的正确路径, 有时会出现此错误

而不是输入正确路径:

var WeatherProject = require('./Main/WeatherProject');

输入错误的路径(大小写,拼写错误,特殊符号):

var WeatherProject = require('./WeatherProject');

答案 3 :(得分:4)

我遇到了同样的问题,我的一个节点模块配置不正确(反应式导航),所以我只是使用

在本地重新安装了它。
npm install react-navigation --save

答案 4 :(得分:3)

我在端口8081上遇到了同样的问题,将其更改为8082。因为这里的其他服务已在使用它,这对我来说是一个步骤

  
    

首先运行您的软件包服务器:     引用

  
react-native start --port 8082
  
    

打开另一个命令提示符,照常启动Android应用程序:

  
react-native run-android
  
    

完成后,现在重写adb隧道的tcp端口:

  
adb reverse tcp:8081 tcp:8082
  
    

查看adb tcp隧道列表:

  
adb reverse --list
  
    

现在,您现在应该看到类似以下的消息:

  
(reverse) tcp:8081 tcp:8082

检查您的应用程序,它将运行.........!

答案 5 :(得分:2)

出现此错误的原因之一是因为我两次导入了“ react-native”库。

import { View, Text, ActivityIndicator } from "react-native";
import { View, Text, ActivityIndicator, TouchableOpacity, StyleSheet } from "react-native";

我不知道这是否真的会导致这个问题,但是删除多余的导入行对我来说解决了这个问题。

答案 6 :(得分:2)

首先执行,以获取版本号:

C:\WINDOWS\system32>react-native -v react-native-cli
  

2.0.1 react-native:0.56.0

然后我卸载了react-native:

C:\WINDOWS\system32>npm uninstall -g react-native-cli
  

在3.999秒内删除了41个包

然后我安装了react-native:

npm install react-native@0.55.4

然后我安装了react-native-cli:

npm install -g react-native-cli@1.2.0

然后使用此安装来创建一个本机反应项目:

react-native init --version="0.55.4" myprojectname

答案 7 :(得分:2)

每当有人遇到此类错误,错误代码为500时。请遵循以下原因。

1)您可能在Linux系统中工作,并且必须使用终端运行应用程序并签入Android Simulator,而不是在Devices中。

2)如果您使用上面的方法,请确保您的Simulator Wife处于关闭状态,然后与Studio一起使用。

希望您会找到解决方案。

答案 8 :(得分:1)

作为React-native领域的新手,我曾经面临着这种错误的负担,而且我总是感到困惑。经过一番经验后,我意识到,当服务器尝试从不存在的地方导入某些东西时,就会发生这种情况。

因此,必须先检查要导入的内容以及该内容是否存在,

这意味着此错误不仅会在未卸载的软件包中弹出,甚至会在您导入错误的内容或从错误的位置导入时出现。

答案 9 :(得分:1)

1)您可能在Linux系统中工作,并且必须使用终端运行应用程序并签入Android Simulator,而不是在Devices中。

2)如果您使用上述工具,请确保关闭Simulator Wifi,然后再与Studio一起使用。

3)确保不要同时打开多伙伴终端或命令窗口。如果然后关闭一个

答案 10 :(得分:0)

react-native软件包--platform android --dev false --entry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assets-目标android / app / src / main / res

运行此命令:这将显示错误,例如两次关闭标签或找不到任何模块

在基于Linux的系统中,

在命令前使用sudo

答案 11 :(得分:0)

适用于使用stores或顶级组件的用户。如果删除一个,请确保没有将其导入其他任何地方。

就我而言,我删除了正在导入的顶级商店。

答案 12 :(得分:0)

如果您使用的是本机版本:56.0,则将其降级为54版本。它对我有用

答案 13 :(得分:0)

  • 转到您的根项目
  • 打开Powershell
  • 运行npm start —–reset-cache
  • 完成后,请不要关闭它并同时在项目的根目录中打开另一个Powershell
  • 运行react-native run-android

答案 14 :(得分:0)

可能是您导入的JavaScript文件的名称与任何React预定义库/组件相同。例如,从您创建的文件夹app / components中导入View.js.

import View from './app/components/View'

以上语句将产生错误。因此,通过将文件名更改为Interface.js

import Interface from './app/components/Interface'

现在,代码可以正常运行

答案 15 :(得分:0)

针对使用商店或顶级组件的用户。如果删除一个,请确保没有将其导入其他任何地方。

就我而言,我删除了一个正在顶层导入的商店。

答案 16 :(得分:0)

同样的错误。不同的情况。

当我将 Redux 文件夹中的 package.json 文件中的“名称”更改为小写时,发生了这个错误。

我这样做是为了修复以下错误,这是由于 npm 约定引起的,它们只允许小写 private void button1_Click(object sender, EventArgs e) { List<double>[] Lists = new List<double>[4]; for (int i = 0; i < 4; i++) { Lists[i] = new List<double>(); } Lists[0].Add(5); // high Lists[0].Add(10); Lists[1].Add(0); // low Lists[1].Add(5); Lists[2].Add(3); // close Lists[2].Add(8); Lists[3].Add(2); // open Lists[3].Add(7); chart1.Series[0].Points.DataBindY(Lists); }

所以为了解决这个问题我改变了 { "message": "String does not match the pattern of \"^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$\".", }

{ "name": "Redux" }

然后就出现了服务器错误。我把它改回

{
    "name": "redux"
}

然后它工作正常。

答案 17 :(得分:0)

通常这个错误是因为指定了文件路径。

当我给图像的 require 函数提供了错误的文件路径时,我得到了这个错误。

就我而言,就像

image: require('../assets/profile')

然后改成这样解决了我的错误,

image: require('./../assets/profile.jpg')