You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置typescript-eslint遇SyntaxError:无法在模块外使用import语句

解决ESLint+typescript-eslint配置中"Cannot use import statement outside a module"错误

这个错误的核心原因是:你用了ES模块的import/export语法编写ESLint配置,但Node.js默认把.js后缀的文件识别为CommonJS模块,无法解析ES模块语法。

下面是三种可行的解决办法:

  • 改配置文件后缀为.mjs
    把你的ESLint配置文件名从eslint.config.js改成eslint.config.mjs。Node.js会自动将.mjs后缀的文件当作ES模块处理,不需要额外修改其他配置。

  • 在package.json中声明模块类型
    要是不想改文件名,就在项目根目录的package.json里添加"type": "module"字段:

    {
      "type": "module"
    }
    

    注意:这个设置会让项目中所有.js文件都被当作ES模块解析,确保项目里其他.js文件也适配ES模块规范再用这个方法。

  • 改用CommonJS语法写配置
    如果你更习惯CommonJS的写法,直接把配置改成下面这样就行:

    const eslint = require('@eslint/js');
    const tseslint = require('typescript-eslint');
    
    module.exports = tseslint.config(
      eslint.configs.recommended,
      ...tseslint.configs.recommended
    );
    

内容的提问来源于stack exchange,提问作者Timofey Goncharov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 03:55:56