1

我正在尝试fs-xattr在 Typescript 项目中使用 npm 包,但我似乎无法在两者tscts-node-dev.

当我运行npm run build && node index.js它工作正常。当我运行时npm run dev,它会因错误而崩溃:

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/meme/xfs/node_modules/fs-xattr/index.js

我希望在开发时能够使用什么ts-node-dev,所以我可以同时获得tscts-node-dev正常工作,包括更改任何 JSON 值或节点版本或其他任何东西,没问题。

使用这些文件在节点 14.17.6 上运行的最简单重现方法:

包.json

{
  "name": "xfs",
  "type": "module",
  "scripts": {
    "dev": "ts-node-dev index.ts",
    "build": "tsc"
  },
  "devDependencies": {
    "@types/node": "^16.9.1",
    "ts-node": "^10.2.1",
    "ts-node-dev": "^1.1.8",
    "typescript": "^4.4.3"
  },
  "dependencies": {
    "fs-xattr": "^0.4.0"
  }
}

tsconfig.json

{
    "compilerOptions": {
      "lib": ["es2020"],
      "target": "es2020",
      "moduleResolution": "Node",
  
      "strict": true,
      "esModuleInterop": true
    }
}

索引.ts

import { getAttribute } from 'fs-xattr'

async function run() {
    console.log('RUN');
    const r = await getAttribute('/some/file.txt', 'whatever');
    console.log('>>>>', r);
}

run().catch(e => console.log(e));

4

0 回答 0