打字稿编译器(tsc)命令不适用于tsconfig
typescript compiler (tsc) command not working with tsconfig
我全局安装了 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] ...
[=23= 的选项]
怎么了?
where tsc
给出如下:
C:\Program Files (x86)\Microsoft SDKs\TypeScript.0\tsc.exe
C:\Program Files (x86)\Microsoft SDKs\TypeScript.0\tsc.js
C:\Users\Kap\AppData\Roaming\npm\tsc
C:\Users\Kap\AppData\Roaming\npm\tsc.cmd
这就是问题所在:
C:\Program Files (x86)\Microsoft SDKs\TypeScript.0\tsc.exe
C:\Program Files (x86)\Microsoft SDKs\TypeScript.0\tsc.js
uninstall-update-remove-get-rid-off: 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
还有。
如果
,我需要在项目本地安装打字稿
你依赖的模块,依赖它
您需要在“您的”代码中使用编译器功能
您需要使用不同于全局安装的版本
初始化:
tsc --init
编译
a 'project'(基于tsconfig.json):
tsc -p .
其中.表示此处
编译'other'项目
tsc -p other/tsconfig.json
我在 Windows 系统上调整 tsc 命令的 Typescript 版本是:
在此处删除 Typescript 1.0 路径。 (Start button-> Type : environment variables,点击选项(英文版Windows这里),选择系统环境变量PATH)。
后来我输入了:
npm link 打字稿
然后我用Chocolatey的refreshenv命令刷新了我调整的系统PATH环境变量。
刷新
然后 运行 命令:
tsc -v
我有:
版本 2.2.1
Typescript 的当前版本是 3.5+,但我全局安装了 Typescript 2.2.1,因为我正在使用该版本学习 Typescript 课程。
我遇到的问题是我没有收到任何错误,但我也没有收到任何输出。
我意识到我的 tsconfig.json 文件中有 "noEmit": true
。
当我删除它时,它按预期工作:)
每次我在谷歌搜索“typescript tsc no output”后都来到这里都是出于同样的原因。因为这肯定发生过不止一次,所以我也会把我的答案扔进戒指里。
每次我遇到这种情况都是因为 TypeScript 配置了 composite: true
并且我删除了输出目录(在 tsconfig
中设置为 outDir
的目录),但没有t 删除 tsconfig.tsbuildinfo
文件。
这导致 TypeScript 假定输出不需要更新,因为 tsbuildinfo
文件上的时间戳表明最后一次构建是在所有文件都被修改之后。
我全局安装了 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] ...
[=23= 的选项]
怎么了?
where tsc
给出如下:
C:\Program Files (x86)\Microsoft SDKs\TypeScript.0\tsc.exe
C:\Program Files (x86)\Microsoft SDKs\TypeScript.0\tsc.js
C:\Users\Kap\AppData\Roaming\npm\tsc
C:\Users\Kap\AppData\Roaming\npm\tsc.cmd
这就是问题所在:
C:\Program Files (x86)\Microsoft SDKs\TypeScript.0\tsc.exe
C:\Program Files (x86)\Microsoft SDKs\TypeScript.0\tsc.js
uninstall-update-remove-get-rid-off: 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
还有。
如果
,我需要在项目本地安装打字稿
你依赖的模块,依赖它
您需要在“您的”代码中使用编译器功能
您需要使用不同于全局安装的版本
初始化:
tsc --init
编译
a 'project'(基于tsconfig.json):
tsc -p .
其中.表示此处
编译'other'项目
tsc -p other/tsconfig.json
我在 Windows 系统上调整 tsc 命令的 Typescript 版本是:
在此处删除 Typescript 1.0 路径。 (Start button-> Type : environment variables,点击选项(英文版Windows这里),选择系统环境变量PATH)。
后来我输入了:
npm link 打字稿
然后我用Chocolatey的refreshenv命令刷新了我调整的系统PATH环境变量。
刷新
然后 运行 命令: tsc -v 我有: 版本 2.2.1
Typescript 的当前版本是 3.5+,但我全局安装了 Typescript 2.2.1,因为我正在使用该版本学习 Typescript 课程。
我遇到的问题是我没有收到任何错误,但我也没有收到任何输出。
我意识到我的 tsconfig.json 文件中有 "noEmit": true
。
当我删除它时,它按预期工作:)
每次我在谷歌搜索“typescript tsc no output”后都来到这里都是出于同样的原因。因为这肯定发生过不止一次,所以我也会把我的答案扔进戒指里。
每次我遇到这种情况都是因为 TypeScript 配置了 composite: true
并且我删除了输出目录(在 tsconfig
中设置为 outDir
的目录),但没有t 删除 tsconfig.tsbuildinfo
文件。
这导致 TypeScript 假定输出不需要更新,因为 tsbuildinfo
文件上的时间戳表明最后一次构建是在所有文件都被修改之后。