我如何使用一个npm包,只是包装我的JavaScript代码?



我们目前有一个npm包供客户在他们基于es6的项目上使用,比如React。这个包的主索引文件的形状如下:

export function ourFunction() {
}

客户端通过以下方式导入该函数:

import { ourFunction } from "our-package";

我们想把我们的代码放在一个专用的端点上,让npm包简单地作为一个包装器来抓取这些代码。我们最困惑的是,我们如何仍然保持上面的导入行相同,以便使用包的客户端没有可观察到的差异。

如果我没理解错的话:

如果代码将在专用端点上,用户将需要下载它(不像以前安装的NPM包)。要实现这一点,将函数设置为异步,并下载function内部的代码:

export async function ourFunction() {
fetch(path/to/our/code)
.then(code => ...)
.catch(err => ...)

用户可以使用下一种方式:

import { ourFunction } from "our-package";
ourFunction().then(data => ...)
类似的例子来自Stripe
import {loadStripe} from '@stripe/stripe-js';
const stripe = await loadStripe('pk_test_TYooMQauvdEDq54NiTphI7jx');

相关内容

  • 没有找到相关文章

最新更新