脚手架
概要:在这篇记录中,我们将探讨如何搭建属于自己的脚手架。
npm link
本地开发,我们不可能改点东西就发包到npm上,然后重新安装调试,所以我们需要做到本地调试,这里可以使用npm link建立软连接:
建立链接
假设项目名称为project1,和一个公用组件模块common,现需要在项目中使用common,且common是作为npm打包成项目依赖。
首先第一步,使用npm link将common模块创建成本地依赖包。在common目录下输入命令:
1 | npm link |
然后进入到project1项目目录里,和本地common模块建立链接。命令中‘common’是common模块中package.json的name属性值,而不是目录名称。
1 | npm link common |
现在在project1中的node_models里就会添加一个common模块的软连接。就说明项目链接模块成功了。
之后修改common里的内容就会实时更新,而不用打包发布再安装依赖。
解除链接
解除项目的依赖直接在项目目录里输入命令:
1 | npm unlink common |
这样项目里就解除了common模块的软连接,然后可以在输入npm install common安装你发布更新好的common模块包。
要解除本地common包,在common目录中输入命令:
1 | npm unlink common |
这样本地的common包模块就解除了,其他项目的软连接也失效了。
monorepo
但是这里我们不使用npm link,使用pnpm搭建monorepo。建立文件夹,初始化工程:
1 | pnpm init |
然后创建pnpm-workspace.yaml文件:
1 | packages: |
上面是一个包含多个项目的配置文件,意思是声明了 packages 和 examples 文件夹中子工程是同属一个工作空间的,且目录下的所有文件夹是独立的子工程,这些子工程可以独立操作发布,工作空间中的子工程编译打包的产物也都可以被其它子工程引用。
TODO
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 blog-coderpeng!
评论