VS CODE错误S5057在指定的目录中找不到tsconfig.json文件:'。'

时间:2016-04-25 04:50:32

标签: json visual-studio-code

我正在使用我的角度2启动项目获得视觉工作室代码。

我设置了 tsconfig.json ,就像这样......

    {
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}

我立刻遇到了这个错误

  [ts] Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.
class AppComponent

我无法确定发生了什么,所以我运行了一个构建并得到了这个错误。

error TS5057: Cannot find a tsconfig.json file at the specified directory: '.'

此错误解释了为什么我收到有关组件装饰器的错误,但我不确定为什么找不到 tsconfig.json 文件。

我只有一个文件夹,除了index.html,package.json和.gitignore之外,它还包含所有内容。

6 个答案:

答案 0 :(得分:10)

我得到了类似的错误。通过更改tasks.json

中的以下行来解决

"args": ["-p", "."],

"args": ["-p", "./src"],

在我的情况下,tsconfig.json是在src文件夹中。 Angular 2项目是使用angular-cli创建的。

答案 1 :(得分:7)

对于Visual Studio Code上的大多数人来说,仅使用简单内容在文档根目录中创建tsconfig.json文件就足够了(这可能是您的.ts文件所在的位置):{{1} }。

这意味着“一个空的JSON文件< ...&gt ;.这对大多数人来说已经足够了。”

Source

答案 2 :(得分:2)

我将tsconfig.js放入根文件夹,然后我可以在项目文件夹中的任何位置构建我的.ts文件。

答案 3 :(得分:1)

我在执行以下操作时遇到了同样的错误:

<html>
<head>
<script src = "jquery-latest.min.js"></script>

</head>
<body>

<table border="1" id='csvtb'>
    <thead>
    <tr>
    <td>
        <p>name</p>
        <input type="button" class="sal" value="0">
        </td>
        <td>
            <p>contect</p>
            <input type="button" class="sal" value="1">
            </td>
            <td>
                <p>email</p>
                <input type="button" class="sal" value="2">
                </td>
                <td>
                    <p>address</p>
                    <input type="button" class="sal" value="3">
                    </td>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>arpit</td>
                    <td>56546546</td>
                    <td>a@a.com</td>
                    <td>211,ed,45,dff</td>
                </tr>
                <tr>
                    <td>arpit1</td>
                    <td>56546546</td>
                    <td>a@a.com1</td>
                    <td>211,ed,45,dff</td>
                </tr>
                <tr>
                    <td>arpit2</td>
                    <td>56546546</td>
                    <td>a@a.com</td>
                    <td>211,ed,45,dff</td>
                </tr>
            </tbody>
        </table>
    <br>
    <input id="showtext" type="hidden" >
    <br>
    <textarea id="massage"></textarea>
    <br>
        <button id="preview">Preview</button>
        <div id="show_preview" style="border:solid 1px gray;"> lkjlkj</div>

        <script>     
            var mtxt=document.getElementById('massage').value;

            $( document ).ready(function() {

                $('.sal').click(function() {
                    var oldm=$('#massage').val();
                    values =$(this).val(); // add value to array

                    var colVal = [];
                    $('tr:gt(0)').each(function () {
                      colVal.push($(this).find('td:eq('+values+')').text());
                    });

                    values='#&#'.concat(values+' ');
                    console.log(values+oldm);
                    //$('#massage').val(oldm+values);
                    $('#massage').val(colVal.join(" "));
                    //$('#showtext').val(values);
                    $('#massage').focus();
                });

                $('#massage').on('input', function() {
                    var org=$('#massage').val();    
                    $("#showtext").val(org);
                });  

                var trCount=    $( "#csvtb thead tr:nth-child(1) td" ).length;
                //console.log(trCount);
                for(i=1;i<=trCount;i++){
                //console.log(trCount);
                    var tdata=($('#csvtb tbody td:nth-child('+i+')').map(function(){
                       return $(this).text();
                    }).get());
                //var tg.push(tdata);
                }   console.log(tdata);
            }); 

        </script>

</body>
</html>

打开src文件夹而不是项目根文件夹修复它:

ng new project_name
cd project_name
code .

答案 4 :(得分:0)

遇到类似的问题。

在Debian 8.4和Windows 7 SP1上测试,VS Code版本1.1.0-insider,1.0.0,0.10.8。还可以在typescript.tsdk中设置.vscode/settings.json

在所有情况下,tsconfig.json的内容似乎都被忽略,而不是默认值。从终端运行tsc,VS Code tslint插件,gulp-typescript等都使得文件没有错误,包括模块,装饰器和规则属性。

但是,我在VS代码任务托管构建期间没有收到TS5057,除非我重命名或删除文件,尽管内容被忽略。

作为一项临时措施,您可以在设置中将typescript.validate.enable设置为false,并在通过grunt或gulp进行编译时使用tslint插件进行验证,如果需要,可以将其集成到任务运行器中。

答案 5 :(得分:0)

我是Visual Studio Code的新手并遇到同样的问题。我这样解决了: 为项目定义工作文件夹并添加任务时,VSC会创建一个名为.vscode的不可见文件夹。在该文件夹中,task.json存在于此处,从那时起,它就会被执行。

.vscode (folder)
    task.json
myfolder
    app.ts
    index.html
otherfolder
    newfile.ts
    otherfile.ts
tsconfig.json

tsconfig.json文件的位置与vscode文件夹的位置相同。这就是“args”:[“。”],表示在task.json文件中。

只需将tsconfig.json放在预期的位置

即可