如何使用只包装我的 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');

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...