代码之家  ›  专栏  ›  技术社区  ›  bnsaa

typescript编译器(tsc)命令无法与tsconfig一起使用

  •  22
  • bnsaa  · 技术社区  · 8 年前

    我在全球安装了typescript( npm install typescript -g )

    然后创建一个文件夹,运行 npm --init 然后 npm intall typescript --save-dev -它安装typescript@2.1.4

    在该文件夹中,我创建了“helloworld.ts”`

    var msg = 'Hello World';
    console.log (msg);
    

    使用文件选项运行tsc命令- tsc helloworld.ts 并将其编译为 helloworld.js .

    接下来,我想使用tsconfig。json,所以我运行 tsc --init -这不起作用,他说 Unknown option 'init'

    我说,好吧,让我尝试添加tsconfig。json,并将其添加到文件夹根目录中,如下所示:

    {
        "compilerOptions": {
            "target": "es5"
        },
        "files": [
            "helloworld.ts"
        ]
    }
    

    我跑 tsc 在命令提示符下,但它不起作用,并向我输出如何使用tsc的语法、示例和选项 Syntax: tsc [options] [file] ...

    怎么了?

    where tsc 给出如下:

    C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.exe
    C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.js
    C:\Users\Kap\AppData\Roaming\npm\tsc
    C:\Users\Kap\AppData\Roaming\npm\tsc.cmd
    
    4 回复  |  直到 8 年前
        1
  •  38
  •   Community CDub    4 年前

    这就是问题所在:

    C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.exe
    C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.js
    

    卸载更新以删除或摆脱:Visual Studio过时的扩展。。。

    或者从路径中删除它。。。

    或者重命名文件夹以确认问题…然后将其核化:)

    检查如果您这样做会发生什么:

    md x
    cd x
    tsc --init
    npm init -y
    npm link typescript
    echo console.log('it works') > index.ts
    tsc -p .
    node .
    

    it works
    

    而且 我需要在项目本地安装typescript,如果
    你所依赖的模块,取决于它
    您需要在“您的”代码中使用编译器功能
    您需要使用与全局安装的版本不同的版本

    要初始化:

    tsc --init
    

    编写

    “项目”(基于tsconfig.json):

    tsc -p .
    

    哪里 . 意思是这里

    编制“其他”项目

    tsc -p other/tsconfig.json
    

    More help

        2
  •  9
  •   Daniel Tonon    3 年前

    我的问题是,我没有得到任何错误,但我也没有得到任何输出。

    我意识到我有 "noEmit": true 在我的Tconfig。json文件。

        3
  •  2
  •   Tore Aurstad    5 年前

    Editing system environment PATH variable

    删除此处的Typescript 1.0路径。(开始按钮->类型:环境变量,单击该选项(此处为Windows的英文版本),然后选择系统环境变量路径)。

    后来我进入:

    npm链接类型脚本

    然后,我使用了 巧克力味 为了刷新我调整的系统路径环境变量。

    刷新环境

    然后运行命令: 我得到: 版本2.2.1

    Typescript的当前版本是3.5+,但我全局安装了Typescript 2.2.1,因为我正在学习使用该版本的Typescript课程。

        4
  •  0
  •   Jason Kohles    2 年前

    每次我在谷歌搜索“typescript tsc no output”后来到这里,原因都是一样的。既然这种情况肯定不止一次,我也会把我的答案扔到拳击场上。

    每次这种情况发生在我身上,都是因为TypeScript配置了 composite: true outDir 在里面 tsconfig ),但没有删除 tsconfig.tsbuildinfo 文件

    这导致TypeScript假设输出不需要更新,因为 tsbuildinfo 文件表示上次构建是在修改所有文件之后。