Nodejs eslint 不能识别 assert 语法?

Nodejs eslint 不能识别 assert 语法?

rollup.config.mjs

import pkg from "./package.json";
// TypeError: Module "file:///………/package.json" needs an import assertion of type "json"

好像是因为 mjs 的原因?直接引入 json 会报上边的错误,改成 js 又会报另外的错误;

import pkg from "./package.json" assert { type: 'json' };

然后加了 assert 语法,运行是能运行了,但是 eslint 会报语法错误,如何屏蔽掉?

Parsing error: Unexpected token assert

项目是:

https://github.com/wdssmq/rollup-plugin-monkey/tree/main/test/gm

想拿到 pkg 里的版本号;


4 回复

就当前需要的话,也可以改用 process.env.npm_package_version


rollup 装个 json 插件

在 Node.js 中使用 ESLint 时,如果遇到无法识别 assert 语法的问题,通常是因为 ESLint 没有正确配置以支持 Node.js 的内置模块。以下是一些可能的解决步骤:

  1. 安装必要的插件和配置: 确保你已经安装了 eslint-plugin-node 插件,这个插件提供了对 Node.js 全局变量和模块的识别。

    npm install eslint-plugin-node --save-dev
    
  2. 配置 ESLint: 在你的 ESLint 配置文件中(通常是 .eslintrc.json.eslintrc.js),添加 eslint-plugin-nodeplugins 数组,并在 extends 数组中包含 plugin:node/recommended

    {
      "plugins": ["node"],
      "extends": ["eslint:recommended", "plugin:node/recommended"],
      "env": {
        "node": true
      }
    }
    
  3. 检查代码: 确保你的代码中正确引入了 assert 模块。

    const assert = require('assert');
    
    assert.strictEqual(1, 1);
    
  4. 重启你的编辑器或 IDE: 有时候,编辑器或 IDE 需要重启才能正确加载新的 ESLint 配置。

  5. 运行 ESLint: 在命令行中运行 ESLint,查看是否还有错误。

    npx eslint your_file.js
    

通过以上步骤,ESLint 应该能够正确识别 assert 语法,不再报错。如果问题依旧存在,请检查 ESLint 版本和配置文件的正确性。

回到顶部