Dan*_*cci 5 node.js typescript
我尝试将node-fetchv3 与nodemon+一起使用ts-node,但我收到了有关 ESM 的所有可能的错误。type我已经尝试了文件中package.json和compilerOptions.target文件中的多种组合tsconfig.json,但我无法同时编译我的脚本并在开发模式下运行它。
这是我的简单脚本:
import express from "express";
import fetch from "node-fetch";
import json from "json-server";
const app = express();
app.use("/db", json.router("db.json"));
app.use("/test", (req, res) => {
fetch("http://localhost:3001/db");
res.json({ ok: true });
});
app.listen(3001);
Run Code Online (Sandbox Code Playgroud)
我需要能够使用以下两个命令使其工作:
tsc && node index.js
nodemon -r ts-node index.ts
Run Code Online (Sandbox Code Playgroud)
应该如何package.json配置tsconfig.json才能使这两个命令正常工作?
请注意,一旦我添加node-fetch到项目中,问题就会开始出现。
Sha*_*jib 10
目前将 typescript 编译为本机 ESM 非常困难,我建议将 node-fetch 降级为2.6.5.
Node Fetch 开始发布 ES 模块,请3.0.0参阅此处:
https: //github.com/node-fetch/node-fetch/blob/main/docs/v3-UPGRADE-GUIDE.md#breaking
如果您想走困难路线,可以关注此博客: https: //2ality.com/2021/06/typescript-esm-nodejs.html
问题是您无法使用require('some-module')它构建为 ESM。由于您要编译为 commonjs 模块,因此需要进行一些转译才能使它们与 ESM 一起使用。
Typescript 在Typescript 4.5nodenext上作为模块选项添加
| 归档时间: |
|
| 查看次数: |
4756 次 |
| 最近记录: |