我想编写一个可以通过 NPM/Browserify 使用的单个 Javascript 模块:
let mymodule=require('mymodule');
mymodule.foo()
或者通过链接到托管版本而不构建:
<script src="...../mymodule.js"></script>
<script>
mymodule.foo()
</script>
显然,我希望这两个版本的代码是不同的,但我希望能够从另一个(或两者都来自同一来源)自动构建一个。
我知道UMD(通用模块定义)是解决方案的一部分,unpkg.com 也是如此,但我不太明白如何将它组合在一起。
- 编写普通的 Node 样式模块 (
module.exports.foo = ...
) - ...做一些事情来在一个名为的目录中构建模块的 UMD 版本
/umd
- 添加
/umd
到 的files: []
属性package.json
。 - 发布到 npm
- 现在它在 unpkg.com 上
如果正确,第 2 步是什么?我目前没有使用任何构建工具,因为这个模块非常简单。
如果在浏览器中访问它,将通过什么变量名访问模块(mymodule
在我上面的示例中)?