You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TypeScript中将本地common文件夹作为项目依赖(无需Lerna等工具)

实现本地共用common包的方案

1. 配置common包的package.json

先搞定common目录的包配置:

  • 进入common目录,执行npm init -y生成基础package.json
  • 把name字段改成唯一标识,比如@myrepo/common,避免和公共npm包重名
  • 确认main(指向编译后的JS入口)和types(TypeScript类型文件入口)字段正确,比如设置为dist/index.js和dist/index.d.ts
  • common自身的依赖正常放在dependencies,开发依赖(比如tsc、eslint)放devDependencies

2. 在project_1里添加本地依赖引用

打开project_1/package.json,在dependencies里加一行:

"@myrepo/common": "file:../common"

这里的../common是project_1到common的相对路径,别写错了。

3. TypeScript路径映射(可选但实用)

如果是TS项目,想在project_1里更方便导入common模块,修改project_1/tsconfig.json:
在compilerOptions里加paths配置:

"compilerOptions": {
  "baseUrl": ".",
  "paths": {
    "@myrepo/common": ["../common/src"]
  }
}

这样写代码时就能直接用import xxx from '@myrepo/common',不用写冗长的相对路径。

4. 安装验证

进入project_1目录执行npm install:

  • npm会自动把common包软链接到project_1的node_modules里
  • 同时会把common自身的dependencies安装到project_1的node_modules(common的开发依赖不会被安装,符合npm规则)

额外提醒

  • 如果common需要编译(比如TS转JS),得先在common目录执行编译命令(比如tsc),确保project_1能找到编译后的文件;嫌麻烦的话,也可以在project_1的package.json里加个前置脚本:
    "scripts": {
      "preinstall": "cd ../common && npm install && tsc"
    }
    
    这样执行npm install时会先自动编译common。
  • 后续common代码更新后,在project_1里执行npm update @myrepo/common就能同步最新版本。

内容的提问来源于stack exchange,提问作者ozgenbaris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 18:33:14