代码保存后reload,显示的还是之前的代码!?有没有什么命令能解决或清空下缓存



  • 0_1467645482700_eee.png 使用调试,明显看到bundle获得的js不是我最新保存的js代码



  • 我感觉是缓存问题,就像maven要先clean再install才不容易出错;在学nativescript时也是经常remove android再install android就能解决很多莫名奇妙的问题。react-native有没有什么类似clean的命令?求大神



  • 一般不会啊,我到现在都没出现过代码不一致的情况,或者你把hot打开试试?



  • 要不以 react-native start --reset-cache 命令启动试试



  • 我用了两台电脑,一台ok,一台经常这种问题,react-native start想试一试,结果每次命令过几行后都卡在那里执行不下去!还有没有小伙伴遇到这问题,后来解决的?



  • 求大神啊,我的笔记本还是init给新项目,run android,改变下index.android.js;app始终无法是一个画面!为什么更新不了?live reload和hot reloading都开了,没卵用啊!是不是还有什么设置?



  • 0_1469365373890_QQ截图20160724210237.jpg 笔记本每次react-native start就会卡在这里,然后我直接run android,发现app无法更新我新加的代码,是不是和这有关系。必须先start再run 吗?



  • 好像懂了,atart就是那样的,,,,,,
    手动运行Packager

    有个常见的问题是在你运行react-native run-android命令后,Packger可能不会自动运行。此时你可以手动启动它:

    cd AwesomeProject
    react-native start



  • 还是不能实时调试,每次更改代码必须重新react-native start才可以,一次得等3、4分钟。。。怎么办



  • 把文件"node_modules\react-native\node_modules\node-haste\lib\FileWatcher\index.js"
    里的 "MAX_WAIT_TIME" 改大点(example : 360000) ;

    把这一段

    key: '_createWatcher',
    value: function _createWatcher(rootConfig) {
    var watcher = new WatcherClass(rootConfig.dir, {
    glob: rootConfig.globs,
    dot: false
    });

      return new Promise(function (resolve, reject) {
        var rejectTimeout = setTimeout(function () {
          return reject(new Error(timeoutMessage(WatcherClass)));
        }, MAX_WAIT_TIME);
    
        watcher.once('ready', function () {
          clearTimeout(rejectTimeout);
          resolve(watcher);
        });
      });
    }
    

    改成这样:

    key: '_createWatcher',
    value: function _createWatcher(rootConfig) {
    var watcher = new WatcherClass(rootConfig.dir, {
    glob: rootConfig.globs,
    dot: false
    });

      return new Promise(function (resolve, reject) {
    
        const rejectTimeout = setTimeout(function() {
          reject(new Error([
            'Watcher took too long to load',
            'Try running `watchman version` from your terminal',
            'https://facebook.github.io/watchman/docs/troubleshooting.html',
          ].join('\n')));
        }, MAX_WAIT_TIME);
    
        watcher.once('ready', function () {
          clearTimeout(rejectTimeout);
          resolve(watcher);
        });
      });
    }


  • @Xi 这是ERROR Watcher took too long to load的报错的处理方式,但我没有,我只是reload后app不更新到最新代码



  • @Xi maybe you are right
    i found this https://github.com/facebook/react-native/issues/7257
    the same with your solution,thanks,i will try it



  • @reactHui
    求解react-native start更新时间很长你是怎么解决的啊?



  • @isszz react-native start更新时间就是很长



  • 我也遇到了相同的问题,也是网上找了各种方法都不行。我是在windows环境下开发安卓应用遇到的,在台式机上一切正常,但是在笔记本上就出来了无法刷新代码的情况,有时候从新react-native start代码都还没改变。现在都不知道怎么办了,求解决方案。



  • 就在发帖的时候,我问题解决了,但是目前还不清楚是什么原因引起的,虽然不知道原理,还是说说我的解决方法,希望能对有同样问题的朋友有帮助。
    首先我先卸载了我安装的node js和Python,删除之前初始化好的项目。
    然后通过windows管理员权限运行Git CMD进行node js和Python的重新安装,然后再运行一次react-native-cli,所有的操作都在管理员权限下。
    重新安装安完初始化项目,然后直接运行react-native run-android
    就这样问题莫名其妙的解决了。
    所有的命令都是按照reactnative.cn上执行的。希望对大家有帮助。



  • 补充一下,刚说的运行一次react-native-cli,实际运行的是npm install -g react-native-cli 命令,希望没给你带来困扰,抱歉。



  • @whucke 解决办法就是:把文件"node_modules\react-native\node_modules\node-haste\lib\FileWatcher\index.js"
    里的 "MAX_WAIT_TIME" 改大点(example : 360000) ;
    话说Python有什么用?我也win7 安卓,Python和c++都没装。哪里用到python了


登录后回复