首页 > 解决方案 > 使用“vss-web-extension-sdk”和“azure-pipelines-task-lib”的打字稿编译错误

问题描述

我正在尝试按照以下指南在 azure devops https://docs.microsoft.com/en-us/azure/devops/extend/develop/add-build-task?view=azure-devops中制作自定义任务

当我同时安装“azure-pipelines-task-lib”和“vss-web-extension-sdk”并有一个需要任务库的打字稿文件时,就像指南建议的那样,我得到了大量的打字稿错误。

包.json

  "dependencies": {
    "azure-pipelines-task-lib": "^3.1.9",
    "typescript": "^4.4.3",
    "vss-web-extension-sdk": "^5.141.0"
  }

tsconfig.json

{
    "compilerOptions": {
        "module": "commonjs",
        "moduleResolution": "node",
        "target": "es6",
        "rootDir": "src/",
        "outDir": "dist/",
        "types": [
            "vss-web-extension-sdk"
        ]
    },
    "files": [
        "src/index.ts"
    ]
}

索引.ts

import tl = require('azure-pipelines-task-lib/task');

export function Foo() {
    return "BAR"
}

文件结构

    • tsconfig.json
    • 包.json
    • 源代码
      • 索引.ts
    • 距离
      • index.js

错误

https://imgur.com/4aNJetK

node_modules/@types/node/module.d.ts:2:5 - error TS2300: Duplicate identifier 'mod'.

2     export = NodeJS.Module;
      ~~~~~~~~~~~~~~~~~~~~~~~

  node_modules/@types/requirejs/index.d.ts:38:14
    38     export = mod;
                    ~~~
    'mod' was also declared here.

node_modules/@types/requirejs/index.d.ts:38:14 - error TS2300: Duplicate identifier 'mod'.

38     export = mod;
                ~~~

  node_modules/@types/node/module.d.ts:2:5
    2     export = NodeJS.Module;
          ~~~~~~~~~~~~~~~~~~~~~~~
    'mod' was also declared here.

node_modules/@types/requirejs/index.d.ts:422:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'require' must be of type 
'NodeRequire', but here has type 'Require'.

422 declare var require: Require;
                ~~~~~~~

  node_modules/@types/node/globals.d.ts:213:13
    213 declare var require: NodeRequire;
                    ~~~~~~~
    'require' was also declared here.

node_modules/vss-web-extension-sdk/typings/vss.d.ts:3168:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'require' must be of type 'NodeRequire', but here has type 'Require'.

3168 declare var require: Require;
                 ~~~~~~~

  node_modules/@types/node/globals.d.ts:213:13
    213 declare var require: NodeRequire;
                    ~~~~~~~
    'require' was also declared here.

安装这些库时,有人可以为我提供编译打字稿的任何工作示例吗?

标签: node.jstypescriptazure-devopsazure-devops-extensions

解决方案


推荐阅读