React Native在Windows下修改js代码后reload无效

iOS下因为有watchman这个插件,所以启动很快(npm start),而Windows下则非常慢,最要命的是遇到了修改js文件后,点击reload居然一直是请求的缓存bundle,泪崩。。。

后来找到一篇文章,解决了这个问题,就是说超时导致的,但是超时的时候没有反馈错误,原因不明。解决方案就是延长超时时间:

//\node_modules\node-haste\lib\FileWatcher\index.js
// 修改MAX_WAIT_TIME的值为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);
        });
      });
    }

参考文章:[Android][0.24.1][Windows] packager not update when change js file content #7257

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黒之染开发日记

微信开发中遇到的坑

1、 用微信的文件上传功能,一次只能上传一个文件,多个上传还要用setTimeout把前后时间设到100毫秒左右...

18320
来自专栏黒之染开发日记

我在移动web开发中遇到的各种问题

目前(2015年8月3日15:02:24)在大部分安卓手机都发现这个问题,触发bug的条件知道了,但是原因未知。触发bug的条件是需要横向滚动的层不能位于纵向滚...

14120
来自专栏Charlie's Road

Swift算法俱乐部:Swift栈(Stack)数据结构

翻译自raywenderlich网站iOS教程Swift Algorithm Club系列

14620
来自专栏腾讯NEXT学位

JavaScript引擎分析

? 一.JavaScript简介 JavaScript是一种动态类型的脚本语言;在1995年时,由Netscape公司的Brendan Eich,在网景导航者...

56720
来自专栏编程坑太多

『高级篇』docker之开发用户服务(12)

13910
来自专栏编程坑太多

『高级篇』docker之微服务thrift安装使用(十)

PS:我想开发一个快速计算的RPC服务,它主要通过接口函数getInt对外提供服务,这个RPC服务的getInt函数使用用户传入的参数,经过复杂的计算,计算出一...

71120
来自专栏Charlie's Road

Swift算法俱乐部:Swift队列数据结构(Queue)

翻译自raywenderlich网站iOS教程Swift Algorithm Club系列

23320
来自专栏全栈之路

关于tomcat读取文件出现乱码的问题

以前只知道需要在web.xml里面配置filter,今天发现了一个致命的问题,就是tomcat运行时读取文件出现中文乱码,本地运行main函数却又没有乱码。

55240
来自专栏大数据架构师专家

系统监控工具-dstat

dstat是一个用Python语言实现的多功能统计工具,用来取代Linux下的vmstat ,iostat,netstat,和ifstat等命令.

19610
来自专栏Alan's Lab

Cordova 是什么

给两个链接: - webView:shouldStartLoadWithRequest:navigationType: public void addJavas...

37830

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励