代码之家  ›  专栏  ›  技术社区  ›  Lonnie Best

ESlint-import.meta导致致命的分析错误

  •  0
  • Lonnie Best  · 技术社区  · 5 年前

    Atom 编辑,和 linter-eslint 安装了包,我有一个node.mjs脚本,它使用ES6模块的 import 语句导入各种节点模块。

    --experimental-modules 旗帜。然而,在使用Atom进行编辑时,linter eslint说:

    Parsing error: Unexpected token import (Fatal)
    

    这个解析错误是 是由位于代码文件顶部的ecmascript“import”语句引起的。相反,这实际上是由于eslint认为“import”是一个只能在 import statements import.meta 对象(如下代码行所示):

    const __dirname = path.dirname(new URL(import.meta.url).pathname);
    

    我的.eslintrc.js文件有以下解析器选项:

    'parserOptions':
    {
        'ecmaVersion': 2018,
        'sourceType': 'module'
    }
    

    0 回复  |  直到 5 年前
        1
  •  0
  •   Jackie    5 年前

    我确信这不是最好的解决办法,但我做到了。。。

    首先创建另一个文件(我使用Util.mjs)并将逻辑移到。。。

    import path from 'path';
    const __dirname = path.dirname(new URL(import.meta.url).pathname);
    export { __dirname }
    

    .eslintignore 加上 {path}/Util.mjs

    import {__dirname} from './Util.mjs';