如何为我的 Svelte 组件模块包含"example projects"?



我正在开发一个用于作为npm包发布的Svelte模块。我想包括一些超过几行的例子。标准的方法是什么?

我认为给原始模块增加额外的依赖关系是没有意义的。我可以创建一个单独的Github项目mymodule-examples,但是将模块和示例分离到两个存储库中也感觉不对。由于sveltekit的性质,每个示例都需要几个文件。

update:引用文档,让我觉得这是建议的方式来组织/发布用SvelteKit制作的库:

组件库具有与SvelteKit应用程序完全相同的结构,除了src/lib是面向公众的位,和您的根包中。Json用于发布包。Src/routes可能是a文档或演示站点随库,或者它可能就像你在开发过程中使用的沙盒一样。


我相信可以控制上传到NPM的内容:

[files字段]告诉npm它将打包并上传哪些文件npm。它应该包含您的输出文件夹(默认为dist)…

排除不必要的文件(如单元测试,或模块)只能从src/routes等中导入),你可以将它们添加到.npmignore中文件。这将导致更小的软件包,更快地安装。

所以,你可以手动控制上传到NPM的内容:

  • package.jsonfiles字段(白名单)
  • .npmignore(blacklist)

至于依赖关系,我相信你可以用dependenciesdevDependencies来控制它们:

  • dependencies:你的库需要的模块
  • devDependencies:示例需要的模块,但不是您的库需要的模块。

进一步阅读:

  • 什么真正被包装?
  • 精益NPM软件包

在我看来是这样的:

/示例目录:

在模块的repo中创建一个/examples文件夹,为每个示例创建单独的子目录。添加一个自述文件。在.npmignore中包含/examples以避免将其发布到npm。

Monorepo:

在repo中使用/packages文件夹,其中包含主模块和单独的示例项目。每个示例都有自己的包。Json用于管理依赖。

子:

为每个示例创建单独的存储库,并将它们作为子模块包含在/examples文件夹中的主模块的repo中。在README.md中提供克隆和初始化子模块的说明。

我会坚持使用自述文件。Md文件,该文件包含您的包的降价格式说明&为如何使用包的小示例标记代码块。如果你需要更复杂的东西,而不仅仅是简单的例子,我将创建一个简单的github页面文档网站,以引用你的包的用户。

相关内容

  • 没有找到相关文章

最新更新