如何使用只包装JavaScript代码的npm包?

如何使用只包装JavaScript代码的npm包?,javascript,reactjs,npm,commonjs,Javascript,Reactjs,Npm,Commonjs,我们目前有一个npm包供客户在基于ES6的项目(如React)上使用。此包的主索引文件具有以下形状: export function ourFunction() { } 客户端通过以下方式导入此功能: 从“我们的包”导入{ourFunction} 我们希望将我们的代码托管在一个专用的端点上,并让npm包简单地充当一个包装器来获取代码。我们最困惑的是,我们如何保持导入行保持在相同的水平之上,从而使使用该软件包的客户没有明显的差异。如果我理解正确: 如果代码将位于专用端点上,用户将需要下载它(不

我们目前有一个npm包供客户在基于ES6的项目(如React)上使用。此包的主索引文件具有以下形状:

export function ourFunction() {

}
客户端通过以下方式导入此功能:

从“我们的包”导入{ourFunction}


我们希望将我们的代码托管在一个专用的端点上,并让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');

这不是npm和包应该如何工作的……我们很困惑,因为它确实如此。我们很难理解他们实际上是如何导入代码的。