问题描述
我遇到了一个奇怪的情况,我的 RN 应用程序突然无法加载任何场景.该应用程序运行良好数周,我没有移动任何文件.失败:
I've got a strange situation where suddenly my RN app won't load any of its scenes. The app has been running fine for weeks and I haven't moved any of the files. The failure:
error: bundling: UnableToResolveError: Unable to resolve module `./src/scenes/splash` from `/Users/jcollum/projects/starsApp/index.ios.js`: Directory /Users/jcollum/projects/starsApp/src/scenes/splash doesn't exist
at Promise.resolve.then (/Users/jcollum/projects/starsApp/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:445:15)
at process._tickCallback (internal/process/next_tick.js:109:7)
我的导入语句如下:
import React, { Component } from 'react';
import { AppRegistry, StyleSheet, Text, View } from 'react-native';
import { Router, Scene } from 'react-native-router-flux';
import Icon from 'react-native-vector-icons/FontAwesome';
import Splash from './src/scenes/splash';
场景肯定存在:
$ ll /Users/jcollum/projects/starsApp/src/scenes/splash.js
-rw-r--r-- 1 jcollum staff 722B Apr 26 10:12 /Users/jcollum/projects/starsApp/src/scenes/splash.js
它有一个export default
:
import React, { Component, PropTypes } from 'react';
import { View, Text, TouchableHighlight, Image } from 'react-native';
import styles from '../styles'
import { Actions } from 'react-native-router-flux';
export default class Splash extends Component {
componentWillMount() {
setTimeout(() => {
Actions.Home()
}, 1000);
}
render() {
console.log(`rendering Splash`);
return (
<View ...
我尝试过的事情:
- 重新启动打包程序
- 重置内容和设置
- 检查以前的提交
- 清除临时目录:
rm -fr $TMPDIR/react-*
react-native --version
react-native-cli: 2.0.1
react-native: 0.43.2
可能是什么原因造成的?为什么这会突然停止加载资源?下一步要尝试什么?
What could be causing this? Why would this suddenly stop loading resources? What's the next thing to try?
推荐答案
解决方案(不知道为什么会这样,抱歉):
Solution (don't know why this works, sorry):
停止任何正在运行的打包程序
Stop any running packager
将此添加到 package.json: "clean-start": "rm -rf node_modules && yarn install && rm -rf $TMPDIR/react* && npmstart --reset-cache",
(或者 npm install 如果你不使用yarn)
Add this to package.json: "clean-start": "rm -rf node_modules && yarn install && rm -rf $TMPDIR/react* && npm start --reset-cache",
(or npm install if you don't use yarn)
npm run clean-start
这篇关于如何修复 RN 突然找不到本地模块(无法解析模块)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!