javascript - 在 Chrome 中使用 React Native 调试 ES6 import 语句

标签 javascript google-chrome debugging ecmascript-6 react-native

我严重依赖 React Native 的“在 Chrome 中调试”功能,因此依赖 Chrome 的调试器。但是我注意到这个系统有一个巨大的缺陷:我使用 ES6-style import 导入的模块。即使代码执行正常,在 Chrome 的范围内也不可见。这使得使用这些导入语句调试代码变得非常困难。

如果我用 var MyModule = require(...) 替换 import 语句,那么该模块在范围内可见。

看完ES6 module import is not defined during debugger我查看了 React Native 生成​​的转译源代码(通过在我的浏览器中加载 http://localhost:8081/index.ios.bundle?platform=ios&dev=true)并注意到有问题的模块以不同的名称加载:

var _MyModule = require('MyApp/MyModule.js');
var _MyModule2 = babelHelpers.interopRequireDefault(_MyModule);

事实上,我可以在 Chrome 中使用 _MyModule2。我有几个相关的问题:

  1. 源映射似乎是一项了不起的技术!他们为什么不也支持映射变量名称?
  2. 有没有什么方法可以让在 Chrome 中使用 React Native 使用 import 语句进行调试更容易?例如,我习惯于将鼠标移到 Chrome 中的变量上以查看值,但这些导入不再可能。 (Debugging with chrome with es6 建议在 Chrome 中启用 #enable-javascript-harmony 并关闭源映射,但考虑到 Flow 代码和丑化,我怀疑这是否有效。)

谢谢。

最佳答案

我已经在 Chrome 标志中启用了 Chrome 实验性功能,并且使用 ES6 样式导入没有问题。如果还没有,请在地址栏中键入 chrome://flags 并查找 Experimental JavaScript。这应该可以解决您的问题。

关于javascript - 在 Chrome 中使用 React Native 调试 ES6 import 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34926991/

相关文章:

javascript - 如何获取当前页面中 Referer 页面的值(该页面中的隐藏字段)?

google-chrome - 受信任的 Web 事件 - Intranet/私有(private) Web 应用程序的数字 Assets 链接验证似乎失败

google-chrome - 与 mocha 一起使用时,WebDriverjs 未加载 url

javascript - 安装无 crx 的网络应用程序

iphone - Xcode 7.1 执行调试时总是崩溃

javascript - 具有元素 ID 的 JQuery

php - 将一种形状变形为另一种形状的算法。

debugging - Intellij远程调试: change connection timeout

ios - 在 Xcode 5 中隐藏 "*** First throw call stack"

javascript - 如何导出带有文件名的csv文件