【问题标题】:How to Migrate a JavaScript-based Node Project to Deno? [closed]如何将基于 JavaScript 的 Node 项目迁移到 Deno? [关闭]
【发布时间】:2020-09-07 15:13:54
【问题描述】:

最近我打算将我的基于 JavaScript 的 Node 项目翻译成 Typescript。然后我得到了 Deno 的消息……拥有原生 Typescript 支持的运行时真是太棒了!

但问题是,如何迁移现有的基于 JavaScript 的项目。

一些专家指出,Deno 不需要从 JavaScript 翻译到 TypeScript!没关系,但我认为如果代码库不是那么大,最好翻译一下。

现有的question 有基于 Typescript 的节点项目的答案,但我正在寻找基于 Javascript 的项目。

【问题讨论】:

  • 对我来说听起来很可怕。就像说我的操作系统内置了 C++ 一样。这可能意味着它总是落后于规范。没有捆绑的语言。

标签: typescript deno


【解决方案1】:

首先:Deno 支持 JavaScript 和 TypeScript。您无需将代码迁移到 TypeScript 即可从 Node.js 迁移到 Deno。

考虑到这一点,还有其他事情需要考虑。

在我写的 another answer 中,我解释了从 Node 迁移到 Deno 时的一些关键方面。

标准库

您的代码(JS 或 TS)必须适应“特定于节点”的 API,这些 API 将适用于 Deno。

例子:

// Node.js
require('fs').readFile('data.json');

// Deno
Deno.readFile('data.json')

第三方库

标准库的相同原则适用于第 3 方模块。

您必须重写与库和框架的集成。

Deno 刚刚推出

Node.js 是一种稳定成熟的技术,

Deno 提供的功能和支持数量与 Node.js 不同。 Deno 还太年轻。


将您自己的代码从 JavaScript 迁移到 TypeScript 应该不会对 Deno 本身产生任何影响。为此,您必须在其他地方寻找有关如何最好地执行语言迁移的指导。

【讨论】:

    【解决方案2】:

    This link 应该会给你你想要的东西。

    考虑到所有因素,这相当简单。

    首先,您需要将 JavaScript 转换为 TypeScript。相关信息here.

    确保删除所有 .json 文件,例如 package.json 和 package-lock.json。删除所有节点模块。

    将 .ts 添加到所有导入语句。

    之后,您将不得不修复解析器规则并适应不同的逻辑。

    【讨论】:

    • 从 JavaScript 到 TypeScript 的 JavaScript 转换不需要迁移到 Deno。
    • 请阅读第二个链接。它解释了原因,来自比我了解更多的专业人士。
    • 他的问题表明 Deno 需要 TypeScript,但事实并非如此。 JS/TS 迁移与 Deno 无关。他的问题不清楚。
    • @EvandroPomatti 感谢您提供有关翻译要求的信息。我更新了我的问题。
    猜你喜欢
    • 2020-09-06
    • 1970-01-01
    • 2020-11-13
    • 2023-01-21
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    相关资源
    最近更新 更多