如何在其他代码仓库中调用指定仓库objectController.ts内定义的函数
在仓库B中使用仓库A的ObjectController类的可选方案
你可以根据自己的使用场景选择以下任意一种实现方式:
方案1:发布为npm包(适合长期复用、多项目共享的场景)
- 先在仓库A中导出要对外暴露的内容:在
src/index.ts中添加导出语句export * from './objectController' - 配置仓库A的
package.json:main字段设置为编译后的JS入口路径,例如dist/index.jstypes字段设置为TS类型声明入口路径,例如dist/index.d.ts
- 编译仓库A的TS代码生成产物后,将包发布到公共npm仓库或者内部私有npm源
- 在仓库B中执行
npm install <仓库A的包名>,之后直接按包名导入即可:import { ObjectController } from '<仓库A的包名>'
方案2:本地软链接(适合两个仓库并行开发调试的场景)
- 在仓库A的根目录执行
npm link,将本地仓库A注册为全局npm软链接 - 在仓库B的根目录执行
npm link <仓库A的包名>,完成软链接关联 - 后续仓库A修改代码后只要重新编译,仓库B就能自动拿到最新内容,无需反复安装依赖
方案3:直接拷贝文件(适合临时快速使用的场景)
- 直接将仓库A的
objectController.ts文件复制到仓库B的源码目录中,通过相对路径导入即可:import { ObjectController } from './相对路径/objectController'
注意:该方案不会同步仓库A后续对该文件的更新,仅适合临时使用,不建议长期依赖。
内容的提问来源于stack exchange,提问作者tomwhittaker
相关产品推荐
相关产品推荐

