gpt4 book ai didi

javascript - Deno:为 Node.js 内置提供 Polyfill

转载 作者:行者123 更新时间:2023-12-02 18:35:02 25 4
gpt4 key购买 nike

Deno 有办法填充/填充 Node.js 模块吗?

也就是说,假设我有一个属于 Node.js 项目一部分的 typescript 文件,它看起来像这样

import { performance } from 'perf_hooks';

function hello() {
console.log(performance.performance.timeOrigin)
console.log("Hello World")
}

export {
hello
}

我想在 deno 程序中使用这个模块,所以我做了这样的事情

import {hello} from './some-module.ts'

function main() {
hello()
}

但是,我无法执行此操作,因为 Deno 中没有 perf_hooks 模块。

% deno run main.ts 
Check file:///private/tmp/main.ts
error: TS2305 [ERROR]: Module '"deno:///none.d.ts"' has no exported member 'performance'.
import { performance } from 'perf_hooks';
~~~~~~~~~~~
at file:///private/tmp/some-module.ts:1:10

我想编写我自己的 perf_hooks 版本来实现我需要的属性和方法,然后告诉 Deno 嘿——只要有人想要 perf_hook使用我的模块来代替

Deno 有内置的东西可以让我做到这一点吗?如果没有,Deno 社区是否使用一些常见的实践/捆绑技术来完成此类事情。

最佳答案

您可以使用https://deno.land/x/std/node 。它提供了一些Node的内置模块。对于外部模块,您可以查看https://esm.sh (语法为 https://esm.sh/<npm-pkg>

如果你想像NodeJS环境一样使用它,你可以执行以下操作:

import { ... } from "module"; // Let's use NodeJS "module" module for this

然后指定import map

{
"imports": {
"module": "https://deno.land/std/node/module.ts"
}
}

使用 --import-map 运行标志

$ deno run --import-map=/path/to/import_map.json your_file.ts

关于javascript - Deno:为 Node.js 内置提供 Polyfill,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68915160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com