【发布时间】:2017-07-24 08:19:06
【问题描述】:
我有一个包,它由 Typescript 编译为 UMD,然后由 Webpack 转换为全局变量(我们必须使用 Typescript,因此不能选择更灵活的 UMD 模式)。我希望使用包的应用程序能够选择他们需要的。这些将部署到本地 NPM 注册表。
目前我有一个 package.json,其中列出了所有必需的依赖项和构建脚本。我不介意发布两个不同的包(可能发布到不同的范围,即@my-umd-packages\my-package 和@my-globals-packages\mypackage,但我想为所有依赖项和脚本保留一个包,因为除了最后一步之外,它都是一样的。
最简洁的方法是什么?可以在具有不同main 属性的两个地方发布一个包吗?
感谢您的帮助
【问题讨论】:
-
为什么会有一个带有全局变量的版本和一个带有 UMD 的版本? UMD 回退到一个全局变量,这是通用模块定义的关键部分。
-
@MichaelJungo - 不是 Typescript UMD。这里有关于这些问题和一些解决方法的讨论github.com/Microsoft/TypeScript/issues/8436
-
好的,我在#2605看到了讨论,不应该叫UMD,但他们最终还是这样做了。