node.js - 如何在不编译的情况下在nodejs中使用typescript/flow

标签 node.js typescript flowtype

有人可以给我一些建议或链接来讨论我是否应该为后端捆绑 JS 吗?

我试着用这个标题(和类似的词)谷歌,但我找不到任何有用的链接。

只是想知道,假设我正在使用最新的 Node.JS(支持 es6),我应该捆绑/编译 JS 吗?如果不是,我该如何使用 typescript/flow?

谢谢。

最佳答案

我觉得你在问两个不同的问题。我会尽量回答这两个问题。

我怎样才能只运行 TypeScript 代码?

这就是您的问题标题所问的问题(“如何在不编译的情况下在 nodejs 中使用 typescript/flow”)。为此,您可以使用 ts-node npm 上的包。但在生产环境中运行时,使用 ts-node 而不是仅编译通常不是一个好主意,因为它往往没有那么快。

TypeScript 代码应该如何分发才能运行?

任何 TypeScript 代码都需要从 .ts 文件编译为 .js 文件才能最终运行。基本上类似的事情适用于流代码。

如果您打算分发一个用 TypeScript 编写的包,您应该一起发布 .js.d.ts 文件。这是为了

  1. 您的包消费者不必重新编译您的包。 (他们已经获得了 .js 文件。
  2. 您的非 TypeScript 使用者无需安装 TypeScript 即可使用您的包。 (他们已经有可运行的 .js 文件)
  3. 您的 TypeScript 使用者可以获得良好的类型安全性和完成性。 (他们得到你的 .d.ts 文件)

有关更多信息,请参阅 Publishing Declaration Files 上的 TypeScript 文档.

关于node.js - 如何在不编译的情况下在nodejs中使用typescript/flow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40752666/

相关文章:

mongodb - 从heroku运行应用程序服务器时似乎无法更新mongohq数据库,无效的BSONObj规范大小: 1963524096 error

javascript - 从菜单Electron.js调用其他文件上的函数

node.js - 将新库添加到 Node 中的 PATH

api - Angular 2 token : Response for preflight has invalid HTTP status code 400

reactjs - 为什么 Flow 将我的 React 组件报告为 `incompatible with string` ?

javascript - 如何在 Flow 类型中指定一个空对象?

node.js - 错误 : req. flash() 需要 session

javascript - 从 API 获取数据( Angular )

node.js - extraHeaders 未附加到请愿书上

javascript - React ref 的流类型