lon*_*nix 6 node.js npm typescript tsconfig package.json
我的monorepo:
/app1
package.json
/app2
package.json
/shared
package.json
Run Code Online (Sandbox Code Playgroud)
该shared/package.json有"name": "@company/shared"。
应用程序项目的package.json文件具有依赖关系"@company/shared": "file:../shared"。
在引用共享代码时,我想要一个“短”样式,当东西移动时也不太容易中断:
import { foo } from "@company/shared"
Run Code Online (Sandbox Code Playgroud)
但这不起作用,所以我必须这样做::
import { foo } from "../../../../../shared/src/something"
Run Code Online (Sandbox Code Playgroud)
我摆弄了两者package.json,tsconfig.json但没有成功。
我该如何设置?
您应该使用 npm-link 将共享包链接到依赖包。
cd ~/shared # go into the package directory
npm link # creates global link
cd ~/app1 # go into some other package directory.
npm link @company/shared # link-install the package
Run Code Online (Sandbox Code Playgroud)
这将告诉 npm 从共享文件夹安装软件包,并更新对原始软件包所做的任何更改
有关更多信息,请参阅https://docs.npmjs.com/cli/link.html
编辑:我现在才意识到您计划将共享包上传到服务器。在这种情况下,您可以使用该module-alias包,https://www.npmjs.com/package/module-alias
这将允许您进行进口,例如const sharedModule = require('@shared/moduleName');
编辑 #2:对于打字稿,请使用https://www.npmjs.com/package/tsconfig-paths
| 归档时间: |
|
| 查看次数: |
3825 次 |
| 最近记录: |