Reactjs NPM包包含与其他包冲突的节点_模块

Reactjs NPM包包含与其他包冲突的节点_模块,reactjs,typescript,npm,office-ui-fabric,azure-devops-extensions,Reactjs,Typescript,Npm,Office Ui Fabric,Azure Devops Extensions,我正在尝试使的最新版本与的最新版本一起工作 全球npm包: +-- typescript@2.9.2 +-- webpack@4.12.0 { "compilerOptions": { "module": "amd", "moduleResolution": "node", "target": "es6", "lib": ["es5", "es6", "dom"], "jsx": "react",

我正在尝试使的最新版本与的最新版本一起工作

全球npm包

+-- typescript@2.9.2
+-- webpack@4.12.0
{
    "compilerOptions": {
        "module": "amd",
        "moduleResolution": "node",
        "target": "es6",
        "lib": ["es5", "es6", "dom"],
        "jsx": "react",
        "rootDir": "src/",
        "outDir": "dist/",
        "baseUrl": "./",
        "types": [ "react", "react-dom" ]
    }
}
package.json(仅限依赖项):

tsconfig.json

+-- typescript@2.9.2
+-- webpack@4.12.0
{
    "compilerOptions": {
        "module": "amd",
        "moduleResolution": "node",
        "target": "es6",
        "lib": ["es5", "es6", "dom"],
        "jsx": "react",
        "rootDir": "src/",
        "outDir": "dist/",
        "baseUrl": "./",
        "types": [ "react", "react-dom" ]
    }
}
当我运行
tsc-p.
时,我得到一个错误,它无法找到所需的模块:

错误TS2307:找不到模块“VSS/控制/导航”

如果我将
“vss web extension sdk”
添加到我的tsconfig.json类型中,模块将正确解析,但编译失败:

node_modules/vss web extension sdk/node_modules/@types/react/index.d.ts:3668:13 -错误TS2717:后续属性声明必须具有相同的类型。属性“div”的类型必须为 'DetailedHTMLProps,HtmlLevel>', 但这里有“DetailedHTMLProps”类型, HtmlLevel>”

在我看来,它之所以失败,可能是因为vss web extension sdk中节点_模块中的@types/react与节点_模块中的@types/react冲突

@类型/react:
//react 16.7的类型定义
vss web扩展sdk/node_modules/@types/react:
//react 15.6的类型定义


我试图用多种方式修改tsconfig.json,但都没有用,这不是我的专业领域。如何使这些软件包能够很好地相互配合?

事实上,看起来
office ui fabric react
版本
6.103.0
需要react 16,而
vss web extension sdk
版本
5.141.0
需要react 15。您可以使用与react 15兼容的较旧版本的
office ui fabric react
,例如
5.131.1
,然后确保在
包.json
中指定
15.x.x
版本的
@types/react
。我不知道这是否是最好的解决方案。我经常遇到类似的问题,它们目前是我生存的祸根。如果我知道使用vss web extension sdk和TypeScript会导致这个版本的地狱,我会选择一条不同的职业道路。我不想把我的大部分时间花在筛选变更日志、依赖项和源代码上,试图找出哪个版本的X垃圾软件与哪个版本的Y垃圾软件兼容。