运行tsc命令无任何反应,忽略了tsconfig文件?

5
我已经将TypeScript添加到我的项目中,并创建了一个tsconfig.json文件。我还没有计划把所有的.js文件改成.ts文件,所以我在tsconfig中设置了allowJStrue

但是,当我运行tsc命令时,它什么也没做。tsc -p .也没有反应。tsc --version版本号为3.8.3。最后,我决定只对单个文件运行该命令:

tsc src/index.js
error TS6504: File 'src/index.js' is a JavaScript file. Did you mean to enable the 'allowJs' option?

看起来它根本没有看到tsconfig文件?我做错了什么?我使用的是Windows系统。

1个回答

11
是的,tsc忽略了你的tsconfig.json,因为你传递给它一个要处理的文件。
Typescript文档:

当在命令行上指定输入文件时,将忽略tsconfig.json文件。

请使用"include""files"键在您的tsconfig.json中。 https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
{
    "compilerOptions": {
        "allowJs": true,
        "outDir": "dist"

    },
    "files": [
        "src/index.js"
    ]
}


现在运行tsc,编译器会创建一个名为dist的新目录,并生成你的index.js文件。

1
我不知道命令行文件会导致忽略tsconfig!谢谢你告诉我。但是,这对我没有用。我最初使用了 "include": [ "./src/**/*" ],,但它不起作用。按照上面所示更改为“files”,但它仍然不起作用。 - yen
@yen,你能分享一下你的tsconfig.json文件吗? - Max
1
已更新tsconfig。我删除了尝试在命令行上运行的部分,因为你已经解释了为什么它不起作用。现在我主要希望按照tsconfig的要求正常工作... - yen
11
天啊...这是因为我设置了"noEmit"吗?我太蠢了,当时还不想让它成为完整的TypeScript项目...现在黏贴过来后一下子就明显了。 - yen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接