我有一个monorepo (),它有许多用@nrwl/js生成的库。这些库相互依赖。它们是小型实用程序库,我打算将它们作为单独的包发布在NPM上。
根据Nx文档:
@nrwl/js如果您想要的话,特别有用。
然而,我现在意识到,与@nrwl/js相关联的构建命令并没有考虑库对其他库的依赖,以便将它们作为peerDependencies
包含到其可发布的package.json中。它看起来也只是一个简单的公共构建,它将与node.js兼容,但不与浏览器兼容。
我知道,如果你把一个库标记为可发表的话,当你用它构建一个库时,@nrwl/angular会帮你处理所有的东西。我的问题是,如何获得相同的行为,但对于一个库,它不是用于角度的,而是用于任何框架或环境中的一般目的Javascript。
现在还处于开发阶段,所以如果我的问题的解决方案涉及到使用其他Nx生成器重新生成库,那么对我来说这样做不会太麻烦,我会考虑的。
编辑
此后,我将build更改为@nrwl/node,它具有buildable
和publishable
选项,并以我所需的方式运行。
我相信@nrwl/js最终会获得这种能力,但在2022-01-05时它还没有。目前,希望在NPM上发布库的人可能应该使用@ new /node来生成他的新库项目,而不是@new/js。
发布于 2022-01-18 03:52:42
如果要将NPM包发布为Node.js和浏览器使用的“通用包”,则需要将其构建为UMD,以涵盖大多数消费者环境。
虽然现代浏览器支持ES模块(import
和export
),但您可能需要额外的设置步骤来使用它们。
https://stackoverflow.com/questions/70551948
复制相似问题