是否可以设置一个StencilJS项目,该项目可以具有多个彼此独立的Web组件?
到目前为止,我可以看到有两个种子项目可以分别用于开发组件和应用程序。
我有一个用例,我们想在一个地方管理所有组件。我们想要生成/构建独立的组件脚本,但不想拥有多个package.json和每个组件的构建过程。
答案 0 :(得分:3)
最新版本的StencilJS支持特定于组件的捆绑软件:
Custom Elements Bundle。
您可以配置stencil.config.ts
来生成这种捆绑包和组合捆绑包。
请注意:
您仍将所有组件都运送到单个npm模块中, 但是您的消费者现在可以选择仅注册组件 他们的兴趣。
如果您希望使用单个源代码来拥有单独的节点模块 回购,您应该使用Lerna或yarn 2 workspaces
设置一个monorepo
答案 1 :(得分:2)
通常的做法是拥有一个带有多个子目录的单个存储库,每个子目录都有一个组件。每个组件都有完整的构建过程,package.json
但lerna用于运行一个命令来一次构建/测试/发布所有组件。