node.js - 使用“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
错误
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.
安装这些库时,有人可以为我提供编译打字稿的任何工作示例吗?
解决方案
推荐阅读
- c# - 读取菲律宾车牌(OCR 或 ANPR)
- c# - 从 .Net 解决方案资源管理器拖放时,如何以编程方式获取文件名?
- android - org.gradle.api.InvalidUserDataException:解决后无法更改配置“:app:debugRuntimeClasspath”的策略错误
- reactjs - 反应嵌套路由问题
- java - P/YC/Y - 从付款 (PMT) 计算未来价值 (FV),每年的复利期 (C/Y)
- javascript - 单击表单中的提交按钮运行 curl 命令
- python-3.x - 复杂的 pandas 聚合
- postgresql - 如何在postgresql中创建“更新多列表后的触发器”?
- ios - 如何使用 UIPanGestureRecognizer 设置拖动控件的边界?
- nativescript - 如何在 Nativescript 的应用程序委托中访问路由器或(存储/获取)数据