如何设置项目以在 npm 包上开发
how to setup a project to develop on a npm package
我有一个 git 根项目,我在根项目中使用了一个 git 子项目。
例如,我有项目 MyApp 和子项目 UIComponents。
目前,我已将 UIComponents 存储库克隆到我的项目文件夹中,并将 UIComponents 添加到根项目的 .gitignore 中。
现在我想为 UIComponents 构建一个 npm 包,我希望能够在 npm 生产构建和开发之间切换。
问题出在开发中,导入是这样的:
import Button from './UIComponents'
对于 npm 包,导入是这样的:
import Button from '@my_name/UIComponents'
我不想每次都调整导入。
想到的第一个想法是在 node_modules 文件夹中开发 UIComponents 但这似乎不是一个好的解决方案。
为了解决这个问题,尝试使用npm link。
因此,不要将它克隆到需要添加到 gitignore 的子目录中,只需检查项目外部的存储库,然后 link 它。
示例:
cd ~/projects/UIComponents
npm link
cd ~/projects/MyApp
npm link @my_name/UIComponents
通过这种方式,您可以使用相同的导入语法,但您可以同时在两个项目中进行本地开发,而无需发布每个更改。
我有一个 git 根项目,我在根项目中使用了一个 git 子项目。 例如,我有项目 MyApp 和子项目 UIComponents。 目前,我已将 UIComponents 存储库克隆到我的项目文件夹中,并将 UIComponents 添加到根项目的 .gitignore 中。 现在我想为 UIComponents 构建一个 npm 包,我希望能够在 npm 生产构建和开发之间切换。 问题出在开发中,导入是这样的:
import Button from './UIComponents'
对于 npm 包,导入是这样的:
import Button from '@my_name/UIComponents'
我不想每次都调整导入。 想到的第一个想法是在 node_modules 文件夹中开发 UIComponents 但这似乎不是一个好的解决方案。
为了解决这个问题,尝试使用npm link。 因此,不要将它克隆到需要添加到 gitignore 的子目录中,只需检查项目外部的存储库,然后 link 它。
示例:
cd ~/projects/UIComponents
npm link
cd ~/projects/MyApp
npm link @my_name/UIComponents
通过这种方式,您可以使用相同的导入语法,但您可以同时在两个项目中进行本地开发,而无需发布每个更改。