首页 > 解决方案 > “在严格模式下使用 const”:“node_modules/[sub_folder]”如何编译为 ES5 而不是 ES6?

问题描述

配置来自ionic info

Cordova CLI: 8.0.0 Ionic Framework Version: 3.9.2 Ionic CLI Version: 2.2.3 Ionic App Lib Version: 2.2.1 Ionic App Scripts Version: 3.2.0 Node Version: v6.14.4

对之前在 Android 4.4 设备上运行的 Ionic 2 项目进行一些更新。

我遇到了与此类似的错误:Ionic2 White screen error on deploy Android 4.2.2: Use of const in strict mode

经过研究我发现在我的项目下[project]/android/app/src/main/www/assets/build/vendor.js我有一些const用来定义变量的文件。

标有的变量const似乎都链接到目录node_module/gsap这个库)。

我的理解是gsap生成ES6格式而不是ES5文件中的格式vendor.js

GSAP 版本是 1.20.6。

互联网阅读使我明白,通过webpack或者babel我可以控制它以ES5格式生成。

但我不明白如何在[project]/tsconfig.json声明的文件中执行此操作:

{
  "compilerOptions": {
    ...
    "target": "es5",
    ...
  }
  "exclude": ["node_modules"],
   ...
}

您是否知道如何在定义的子目录中强制使用 ES5,node_modules例如node_modules/gsap

标签: ecmascript-6ionic3ecmascript-5gsap

解决方案


降级到 gsap~1.19.1 有助于解决这个问题。


推荐阅读