间接引用远程Javascript URL

ste*_*ers 7 commonjs npm typescript ecmascript-6 rollupjs

我们想使用Rollup with Angular 4/Typescript和NPM我们公司内部有以下要求:

  • 某些团队创建需要集中的JS库(如CDN)
  • 这些库位于远程URL后面,不应该在应用程序中本地存在(原因是这些库经常更改)
  • 库(应用程序)的使用者安装npm包以使用该库
  • 本地安装的npm包中包含一个Javascript Facade文件或bundle,它将远程链接放在远程URL后面的JS库中
  • npm包还包含一个Typescript定义文件
  • 目标是消费者不需要添加带有URL的脚本标记(他不应该知道这一点)
  • 本地安装的Javascript文件可以与应用程序代码捆绑在一起
  • 如果可能,新版本的库将向后兼容

使用Typescript/Javascript/NPM/Rollup实现此目的的最佳方法是什么?我们将使用ES2015语法转换为commonJS语法.

ste*_*ers 1

解决方案太复杂了。创建这些 JS 库的团队应该将包放在 URL 后面。团队应该在这些捆绑包上启用 URL 和 eTag 缓存,以便用户始终拥有最新版本。如果部署了新版本的捆绑包,http/1 客户端必须自动重新下载该捆绑包。

用户必须自己输入 URL,或者可以设置带有 json 文件的机制,其中信息驻留在 json 文件中(如清单)。

应用程序的开发人员可以通过 npm 接收包含框架库的所有类型的 d.ts 文件。您不需要导入模块,因为它是远程 URL。因此,您不需要导入任何内容,因为可以保证由于脚本标记而引用该库。