javascript - 使用 Babel 转译后无法在浏览器中查看原始 ES6 源代码

标签 javascript google-chrome source-maps babeljs systemjs

总而言之,我正在使用 SystemJS 和 Babel 作为转译器来学习如何在我的浏览器上从 ES6 生成 ES5 代码。当我尝试使用 Chrome 开发工具查看源代码时,我看到的是 ES5 代码,而不是我原来的 ES6 代码。我在我的 SystemJS config.js 中使用默认的 babelOptions,如下所示:

System.config({
  "transpiler": "babel",
  "babelOptions": {
    "optional": [
      "runtime"
    ]
  },
  ...

我可以看到插入在生成的 Javascript 底部的内联源映射,格式如下:

//# sourceMappingURL=data:application/json;base64,...

Chrome 不应该解释该行并向我显示 ES6 代码而不是 ES5 代码吗?我是否误解了像这样的内联源 map 应该如何工作? (我在 Chrome 43.0.2357.65 和 45.0.2411.0 上试过这个。我也在 Firefox 38.01 上试过失败。我运行的是 Mac OS X 10.10.2。)任何帮助将不胜感激。

最佳答案

您在哪个面板中查看源代码?在网络面板中,它应该只显示 ES6 源,因为这是通过网络加载的。在 Sources 面板中,加载路径下应该有 2 个文件:

enter image description here

如您所见,systemjs 动态转译了 login.js 并将其命名为 login.js!transpiled。

关于javascript - 使用 Babel 转译后无法在浏览器中查看原始 ES6 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30430587/

相关文章:

javascript - 基于 Chakra 和 IDispatch 的索引属性

css - Chrome 不加载 CSS 源映射?

google-chrome - 自动记录网络选项卡,无需在 Google Chrome 中打开它

react-native - React Native Stack Traces 指向原始文件

Angular5 调试在 Chrome 中不起作用

javascript - 单击网页打开 window.open() 并且包括框架集但 window.close 在框架集中不起作用

javascript - 适合缩放的 slider 值的函数

google-chrome - 流式传输文本数据时禁用 Chrome 缓冲

javascript - 源映射行为——如何在缩小之前查看原始 javascript

javascript - 如何为元素提供位置值以在所有屏幕分辨率下完美对齐?