首页 > 解决方案 > 有没有一种方便的方法可以将 NPM 模块导入到 Deno 中,这些模块有自己的依赖项?

问题描述

我遇到过这篇文章,它解释了如何在 Deno 中使用(一些)NPM 模块: 如何在 DENO 中使用 npm 模块?

问题是,他们提供的示例库有 0 dependencies

但是,如果我想使用像 Axios 这样的依赖项(可能是一个不好的例子,因为它甚至可能不适用于 Node 兼容层,但这只是一个例子),它有自己的依赖项会发生什么?

除了手动将这些库复制到我的代码中之外,还有什么方法可以做到这一点?

标签: javascriptnode.jsnpmdeno

解决方案


问题是,他们提供的示例库有 0 个依赖项。

对于具有多个依赖项的包,它的工作方式相同。

import { createRequire } from "https://deno.land/std/node/module.ts";

const require = createRequire(import.meta.url);
const isEven = require("is-even");

console.log(isEven(2))

只要依赖项不使用非 polyfill Node.js API,它就可以正常工作。


您还可以使用https://jspm.io/which 将 NPM 模块转换为 ES 模块

npm 上的所有模块都转换为 ES 模块,处理完全的 CommonJS 兼容性,包括严格的模式转换。

import isEven  from 'https://dev.jspm.io/is-even';

console.log(isEven(2))

推荐阅读