【发布时间】:2018-04-01 01:57:55
【问题描述】:
我似乎无法解决的非常奇怪的错误。
React-native 和 node.js 和 VS Code
为了让 VS Code 走到这一步,我使用了以下代码:yarn add babel-cli
我遇到的错误:
Debugger listening on ws://127.0.0.1:39061/61f6ad51-d255-463a-a0ad-b686be9b8b0d
Object {dataReducer: Object, reducerSPY: Object, userApp: Object}
home.js:31
Error: Cannot find module 'StyleSheet'
module.js:555
at Function.Module._resolveFilename (module.js:555:15)
at Function.Module._load (module.js:482:25)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Object.get StyleSheet [as StyleSheet] (c:\AndroidEverything\AndroidStudioProjects\Property2\AwesomeProject\node_modules\react-native\Libraries\react-native\react-native-implementation.js:98:29)
at Object.<anonymous> (c:/AndroidEverything/AndroidStudioProjects/Property2/AwesomeProject/app/components/home.js:195:16)
奇怪因为:
我的应用运行良好
如果我注释掉这一行,找到所有其他导入,只需
样式表。所有文件都符合我的预期。这似乎有问题?
home.js(被App.js调用)
import {
FlatList,
View,
Text,
ActivityIndicator,
StyleSheet
} from 'react-native';
launch.json
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/App.js",
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/babel-node",
},
package.json
{
"name": "AwesomeProject",
"version": "0.1.0",
"private": true,
"devDependencies": {
"jest-expo": "25.0.0",
"react-native-scripts": "1.11.1",
"react-test-renderer": "16.2.0"
},
"main": "./node_modules/react-native-scripts/build/bin/crna-entry.js",
"scripts": {
"start": "react-native-scripts start",
"eject": "react-native-scripts eject",
"android": "react-native-scripts android",
"ios": "react-native-scripts ios",
"test": "node node_modules/jest/bin/jest.js"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"babel-cli": "^6.26.0",
"expo": "^25.0.0",
"react": "16.0.0",
"react-dom": "16.0.0",
"react-native": "0.52.0",
"react-navigation": "^1.5.1",
"react-redux": "^5.0.7",
"redux": "^3.7.2",
"redux-thunk": "^2.2.0",
"save": "^2.3.2"
}
}
有什么想法可以继续挖掘吗?启动.json 文件?连通性?纱?还是拼写错误?
更新:
删除了关于 babel 的行,因为我使用 yarn for node.js 和 Expo 在 android 上运行。错误已更改为:
path\Property2\AwesomeProject\App.js:1
(function (exports, require, module, __filename, __dirname) { import React,
{ Component } from 'react';
^^^^^^
SyntaxError: Unexpected token import
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:152:10)
at Module._compile (module.js:624:28)
at Object.Module._extensions..js (module.js:671:10)
使用纱线升级 jest-expo@25.1.0-beta.0
warning "expo > react-native-maps@0.19.0" has incorrect peer dependency
"react-native@0.51.0".
warning " > react-native@0.52.0" has incorrect peer dependency
"react@16.2.0".
warning "jest-expo > babel-jest@22.4.3" has unmet peer dependency "babel-
core@^6.0.0 || ^7.0.0-0".
[4/4] Rebuilding all packages...
success Saved lockfile.
success Saved 1 new dependency.
└─ jest-expo@25.1.0-beta.0
warning "jest-expo" is already in "devDependencies". Please remove existing
entry first before adding it to "dependencies".
【问题讨论】:
-
是基于 expo 的项目还是 react-native cli?
-
请在您的问题中添加 package.json 文件
-
我不确定 expo v cli。我使用纱线进行安装。谷歌搜索也无法弄清楚。文件已更新
-
我在我的 android 上使用 Expo 并运行 yarn 来运行 node.js。我删除了 launch.json 文件中提到 babel cli 的行,现在出现错误。将张贴在正文中。
-
试试这个命令
yarn upgrade jest-expo@25.1.0-beta.0,让我知道结果。
标签: javascript node.js debugging react-native visual-studio-code