我可以将基于Node的项目迁移到Deno吗?

时间:2020-05-20 01:09:32

标签: javascript node.js webpack package.json deno

你好,我是前端开发人员。

首先,我对运行时环境了解不多。
可以使用Node将我的项目转换为Deno吗?

即使我更改了所有代码,
我不确定收到的库是否可以在Deno环境中运行。
(库太多...)(反应,阿波罗,很多很多)

由于当前的Webpack设置非常复杂且难以理解,(而且我对构建系统了解得很少。)
我不确定这是否可以在Deno环境中工作。

在我看来,这似乎是不可能的,我只会在处理新项目时使用Deno,或者等待有人创建迁移指南。

您对此有何看法?

添加

很明显,如果我使用的库未在Deno存储库中注册,那将是不可能的。

第二,似乎存在节点兼容性问题。

现在我确定我不能隐瞒它。 谢谢

4 个答案:

答案 0 :(得分:2)

您使用纯JavaScript或TypeScript编写的任何代码都可以在Node.js和Deno中使用。

但是,您很有可能在当前项目中使用了Node.js特定的功能。 require,对httputil之类的本机Node.js API的调用,以及许多其他API在Deno运行时中均不起作用。

此外,大多数Node.js库中都使用了这些特定于Node.js的API,因此您必须完全重写为Deno。

答案 1 :(得分:1)

您在节点项目中使用了许多npm软件包,而Deno则无法使用它们,因此您可能要等到足够成熟后再继续使用node来构建项目。所以我认为,如果您想充分利用deno的优势,应该等待deno的成熟

答案 2 :(得分:1)

我还不太确定,但是当您有一个Node.js项目时,应该使用npm软件包,因此除非您使用的这些npm软件包具有替代的Deno软件包,否则除非有可能,否则@IsaToltar表示等待足够成熟。

但是,如果您可以告诉我们您使用了哪些第三方npm软件包,那么我们也许可以为此找到替代的Deno软件包。

我希望这会有所帮助。

答案 3 :(得分:0)

Denoify
该工具将旨在用于节点和/或Web的TypeScript代码库作为输入,并吐出修改后的版本的源文件,以准备将其部署为Deno模块。
它还有助于在NPM和deno.land/x

上进行部署

但是,它仍在积极开发中,尚不支持所有的节点内置函数,您可能必须在代码库中的各处进行一些更改,以符合Denoify集的要求。

我也是作者。

repo