【问题标题】:eslint can't cope with #include preprocessor directive in javascripteslint 无法处理 javascript 中的#include 预处理器指令
【发布时间】:2017-02-11 10:17:00
【问题描述】:

我在 atom 中使用 eslint 来整理我的 Adob​​e After Effects 扩展脚本代码。 Extendscript 基于 ECMAScript,所以 eslint 非常有用,我每天都在学习 JS 代码风格的优点。

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

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

【问题讨论】:

  • 你可以只运行预处理器,然后根据结果调用 eslint 吗?
  • 任何机会//@include 'path/to/file' 会起作用吗?
  • @torazaburo 是的,//@include 可以解决问题,//@includepath 可以替换#includepath//@ targetengine 可以替换#targetengine。你想把它变成答案吗?
  • @torazaburo 是的,谢谢。把它变成一个答案,我会把它标记为正确的。

标签: javascript atom-editor eslint extendscript


【解决方案1】:

通过#include 风格的编译指示在ExtendScript 上使用eslint 可以通过eslint-plugin-skip-adobe-directives 处理器插件来完成。

为您的软件包安装:

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

然后添加.eslintrc配置:

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

目前的另一种选择是将脚本编写为 ES6 或更好的工作方式,然后使用 extendscriptr 转换回 ECMAScript 3rd Edition。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    相关资源
    最近更新 更多