如何在 Deno 中保留包的版本
How to keep the version of packages in Deno
我不太明白如何在 Deno
项目中保留包的版本。
我看到它直接通过 url 加载包,而没有使用我在 Nodejs 项目中的 package.json
。
这很酷,但我如何保留我在项目中使用的某些库的版本?我担心的是,如果图书馆更新了它的某些功能,那么我的服务器就会崩溃。
其实我想我一定漏掉了一些很常见的东西。
谁能给我一个关于这个问题的提示?
使用 versioned imports from deno.land 确保始终获得您开发软件所用的版本。 Deno.land 缓存版本并允许按版本号导入。
而不是写作:
import { validateJwt } from "https://deno.land/x/djwt/validate.ts";
这将始终导入包的当前版本,
您可以在包名称后面添加版本号 @<version>
以明确导入该版本(此处为 1.7 版):
import { validateJwt } from "https://deno.land/x/djwt@v1.7/validate.ts";
要检查更新,有一个第三方模块 deno-check-updates
适用于 import maps。
但请注意,导入地图仍被标记为不稳定的功能,并且 deno-check-updates 也仅在 v0.3 上可用,并且由于 deno 方面的更改目前无法使用。
刚刚尝试 deno run -A --unstable https://deno.land/x/deno_check_updates/main.ts -f import_map.json
并遇到错误。
我会尽快检查并更新此答案。
对我来说,我只是将导入放在 deps.ts
或 deps/modname.ts
中
例如:
deps/abc.ts
export { Application } from "https://deno.land/x/abc@v1.2.1/mod.ts";
main.ts
import * as abc from "./deps/abc.ts";
我不太明白如何在 Deno
项目中保留包的版本。
我看到它直接通过 url 加载包,而没有使用我在 Nodejs 项目中的 package.json
。
这很酷,但我如何保留我在项目中使用的某些库的版本?我担心的是,如果图书馆更新了它的某些功能,那么我的服务器就会崩溃。
其实我想我一定漏掉了一些很常见的东西。
谁能给我一个关于这个问题的提示?
使用 versioned imports from deno.land 确保始终获得您开发软件所用的版本。 Deno.land 缓存版本并允许按版本号导入。
而不是写作:
import { validateJwt } from "https://deno.land/x/djwt/validate.ts";
这将始终导入包的当前版本,
您可以在包名称后面添加版本号 @<version>
以明确导入该版本(此处为 1.7 版):
import { validateJwt } from "https://deno.land/x/djwt@v1.7/validate.ts";
要检查更新,有一个第三方模块 deno-check-updates 适用于 import maps。 但请注意,导入地图仍被标记为不稳定的功能,并且 deno-check-updates 也仅在 v0.3 上可用,并且由于 deno 方面的更改目前无法使用。
刚刚尝试 deno run -A --unstable https://deno.land/x/deno_check_updates/main.ts -f import_map.json
并遇到错误。
我会尽快检查并更新此答案。
对我来说,我只是将导入放在 deps.ts
或 deps/modname.ts
例如:
deps/abc.ts
export { Application } from "https://deno.land/x/abc@v1.2.1/mod.ts";
main.ts
import * as abc from "./deps/abc.ts";