我是Deno的新手。我正在寻找与Node Js的不同之处。我发现Deno总是在运行时从https://deno.land/..在线获取模块。但Node只在安装模块的过程中使用互联网。
那么,如果互联网不可用或互联网速度很慢,我们如何在Deno中克服这个问题?
发布于 2021-02-24 13:15:09
我发现一旦加载了模块,Deno就不需要Internet连接了。
它们缓存在您正在工作的文件夹中,在使用 — reload标志之前,您将使用相同的模块。
因此,对于node和package.json文件的工作方式实际上是相同的。
我认为Deno在这里取代了node js,安全特性是它最大的资产,这将是我们不断面对的安全待遇的无价。
发布于 2021-04-20 20:10:00
IMO最好的方法是创建一个deps.js文件作为项目的一部分,并在其中声明所有导入。您可以从那里导入到其他文件,并将有一个单点来维护它们,并获得更多的控制,无论是否需要互联网。
第一次需要导入时,Deno将获取它,然后将其保留在本地。如果没有internet,将使用本地副本。
如果你想避免上网,不要使用没有版本的导入,因为Deno每次都会尝试获取最新的版本。它无法知道自上次运行以来版本是否已更改,因此将进行检查。
import {isWindows} from "https://deno.land/std/_util/os.ts";
export {isWindows};相反,请使用一个版本。如果Deno发现该版本存在于本地,它将使用该版本。这里没有歧义,那个版本就是那个版本。
import {isWindows} from "https://deno.land/std@0.88.0/_util/os.ts";
export {isWindows}; 您可以在控制台窗口中监视该进程。
此外,如果你真的是指公共互联网而不是网络(例如局域网),那么你可以建立一个本地资源,从那里可以获取导入,这将使你独立于互联网,只依赖于你本地局域网资源的可用性。我想,如果它在你的Deno应用程序上出现故障,例如它是一个服务器,无论如何都无法访问。
https://stackoverflow.com/questions/66344877
复制相似问题