javascript - 如何使用仅包装我的 JavaScript 代码的 npm 包?
问题描述
我们目前有一个 npm 包供客户在他们基于 ES6 的项目(如 React)中使用。这个包的主索引文件具有以下形状:
export function ourFunction() {
}
客户端通过以下方式导入此函数:
import { ourFunction } from "our-package";
我们希望将我们的代码托管在一个专用端点上,并让 npm 包简单地充当获取该代码的包装器。我们最困惑的是我们如何仍然可以保持上面的导入行相同,以便使用该包的客户端没有明显的差异。
解决方案
如果我理解正确:
如果代码将在专用端点上,用户将需要下载它(与他们之前安装的 npm 包不同)。为此,请使您的函数异步并下载函数内部的代码:
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');
推荐阅读
- c# - 如何通过 Microsoft.Office.Interop.Word 在 wdRevisionsViewFinal 中将 word 转换为 html?
- sql - 左连接表到解扰地址表
- javascript - 以类为目标的子类在具有类的父类中
- ios - 将本机 0.60.3 与 xcode 9.4.1 反应
- python - 如何在 django 表单中使用多选
- jenkins - 如何覆盖任何 Jenkins 插件的 Css 属性
- android - Firebase-InApp-Message 在智能手机中仅显示一次
- kubernetes - 如何在 Prometheus-operator 上重新标记抓取作业?
- google-api - 仍然收到关于停止支持 Global HTTP Batch Endpoints 的电子邮件
- python - 如何在单个 lambda 中设置条件和两个输出?