错误:打字稿任务检测没有为以下配置贡献任务

Posted

技术标签:

【中文标题】错误:打字稿任务检测没有为以下配置贡献任务【英文标题】:Error: The typescript task detection didn't contribute a task for the following configuration 【发布时间】:2018-09-18 06:47:18 【问题描述】:

我尝试在 tasks.json 中为 typescript 类型的任务添加路径:


    "version": "2.0.0",
    "tasks": [
           
            "identifier": "tsc-client", 
            "label": "tsc-client", 
            "type": "typescript",
            "tsconfig": "src/client/tsconfig.json",
            "problemMatcher": [
                "$tsc"
            ]
        ,
           
            "identifier": "tsc-server", 
            "label": "tsc-server", 
            "type": "typescript",
            "tsconfig": "src/server/tsconfig.json",
            "problemMatcher": [
                "$tsc"
            ]
        ,
        
            "identifier": "build-all",
            "label": "build-all",
            "dependsOn": ["tsc-client", "tsc-server"]
        
    ]

然后在我的 launch.json 我有:


    "version": "0.2.0",
    "configurations": [
        
            "type": "node",
            "request": "launch",
            "preLaunchTask": "tsc-client",
            "name": "Launch Program",
            "program": "$workspaceFolder/server/server-repsic.js"
        
    ]

我启动它并获得:

Error: The typescript task detection didn't contribute a task for the following configuration:

    "identifier": "tsc-server",
    "label": "tsc-server",
    "type": "typescript",
    "tsconfig": "src/server/tsconfig.json",
    "problemMatcher": [
        "$tsc"
    ]

The task will be ignored.

我检查了在根路径中我有src/server/tsconfig.jsonsrc/client/tsconfig.json。我也在控制台中输入它:

tsc -p src/client/tsconfig.json

并且该命令工作正常。

【问题讨论】:

我觉得你需要使用$workSpaceRoot @Emilio 你终于设法解决问题了吗?你还记得解决了什么问题吗? 【参考方案1】:

在我的情况下,问题是由于 VSCode 没有即时读取 tasks.json 的事实引起的。 IE。更改 tasks.json 时必须重新启动 VSCode。重启后一切正常。 Here is a similar discussion,他们说:

如果之前没有启动过任务,则在更改后没有重新解析 tasks.json 的问题。这是为下一个版本修复的。然而看起来人们即使不编辑tasks.json也能得到这个。

评论是在 2017 年添加的,但看起来重启的问题还没有解决(我有 VSCode 1.32.1)。

【讨论】:

谢谢。同样,我刚刚重新启动了 VSCode。【参考方案2】:

我在这里可能有点晚了,但这可能对其他人有所帮助。

我遇到了完全相同的问题,经过一些修补后,我通过在路径中用双反斜杠 \\ 替换正斜杠 / 解决了这个问题。

例如,替换

"tsconfig": "src/server/tsconfig.json",

通过

"tsconfig": "src\\server\\tsconfig.json",

免责声明:我只在 Windows 上测试过。考虑到正斜杠是所有其他平台的标准,这可能不适用于其他平台:/。

【讨论】:

奇怪:更新到 VSC 1.35 版后,我不得不将 \\ 更改为 / 以避免出现此错误(Windows)。【参考方案3】:

我刚刚遇到了上面@Benjamin Blois 报告的相反问题,tasks.json 中打字稿任务的路径中的所有反向双斜杠现在必须用正斜杠替换。对我来说很好,这样更具可读性,不需要转义等。

曾经:

 ... "tsconfig": "src\\project-foo\\tsconfig.json" ... 

改为:

 ... "tsconfig": "src/project-foo/tsconfig.json" ... 

【讨论】:

以上是关于错误:打字稿任务检测没有为以下配置贡献任务的主要内容,如果未能解决你的问题,请参考以下文章

打字稿:类型'null'不可分配给类型错误

Visual Studio 打字稿与 Angular 2 冲突

打字稿:React Native useRef 给出错误“对象可能为空”

Vuejs 和 Webpack 5 Federation 打字稿错误

为啥此语句会引发打字稿错误?

打字稿:错误 TS2693:“承诺”仅指一种类型,但在此处用作值