eslint 无法处理 javascript 中的 #include 预处理器指令

eslint can't cope with #include preprocessor directive in javascript

我在 atom 中使用 eslint 来检查 Adob​​e After Effects 的 extendscript 代码。 Extendscript 基于 ECMAScript,所以 eslint 真的很有用,我每天都在学习 JS 代码风格。

但是有个小问题。 Extendscript 使用预处理器指令,以便您可以使用#include 和其他一些东西。这会导致 eslint 发出嘶嘶声和蒸汽。使用 //eslint-disable-next-line/*eslint-disable*/ 不起作用,因为 # 会导致致命的解析错误,而不是违反规则 本身 .

有什么解决办法吗?还是我必须使用 eval() 来包含我的库?

可以通过 eslint-plugin-skip-adobe-directives 处理器插件在带有 #include 样式编译指示的 ExtendScript 上使用 eslint。

为您的包安装:

$ npm install --save-dev eslint-plugin-skip-adobe-directives

然后在.eslintrc配置中加入:

"plugins": [
  "skip-adobe-directives"
]

现在的另一种选择是将脚本编写为 ES6 或更好用的东西,然后使用 extendscriptr 转译回第 3 版 ECMAScript。