我正在尝试使用NPM将依赖模块B与其依赖关系A链接。使用this作为指导,我已完成以下操作。
项目A定义为:
{
"name": "typescript-link-failure-a",
"version": "1.0.0",
"description": "",
"main": "dist/A.js",
"typescript": "dist/A.d.ts",
"scripts": {
"setup": "npm link"
},
"author": "",
"license": "ISC",
"devDependencies": {
"gulp": "^3.9.1",
"gulp-typescript": "^2.13.6",
"merge2": "^1.0.2"
}
}
A.ts
export class A {
"foo":string;
}
执行 npm run-script setup
以创建从此目录到全局node_modules的链接。
在项目B中:
{
"name": "typescript-link-failure-b",
"version": "1.0.0",
"description": "",
"main": "dist/B.js",
"scripts": {
"preinstall": "npm link ../A"
},
"author": "",
"license": "ISC",
"devDependencies": {
"gulp": "^3.9.1",
"gulp-typescript": "^2.13.6",
"merge2": "^1.0.2"
}
}
B.ts
import {A} from "typescript-link-failure-a"
class B {
"foo":A;
}
我使用NPM链接链接回项目A.我认为链接正常,如项目B的node_modules,我可以看到项目A.
然而,当我尝试
时 import {A} from "typescript-link-failure-a"
,Intellij,VS Code和TSC都说他们不理解名为typescript-link-failure-a的模块。
任何人都可以提供见解吗?
答案 0 :(得分:2)
在这种情况下,项目B需要引用执行NPM链接到项目A的名称,而不是路径。
将其更改为`npm link typescript-link-failure-a'作为项目B根目录中的命令解决了问题。