我的项目包含三个子项目。 shared
子项目由其他子项目使用:
- myproject
- server
node_modules
package.json
- client
node_modules
package.json
- shared
node_modules
package.json the name property is "shared"
foo.ts
bar.ts
我想引用shared
子项目。我不喜欢npm link
方法,因为它有缺点(程序包重复)。所以我尝试了npm install <folder>
approach:
cd server
npm i ../shared
cd ..
cd client
npm i ../shared
这会将"shared": "file:../shared"
添加到两个主要project.json
文件中。好。
但是...如何引用公共子项目中的模块?我尝试过:
import * as foo from "foo";
import * as foo from "shared/foo";
import shared from "shared";
// and other combinations...
我不想使用"../../../../../shared/node_modules/shared/foo/bar/baz"
,因为这样做违反了此方法的目的。干净/正确的方法是什么?