现在你的js文件直接编译到了根目录下,和ts文件混在了一起。我们当然是不喜欢这种方法的,工作中我们希望打包的js都生成在特定的一个文件夹里,比如build。
这时候你就可以通过配置outDir来配置,当然你也可以通过rootDir来指定ts文件的位置,比如我们把所有的 ts 文件都放到 src 下。那配置文件就应该这样写。
{ "outDir": "./build" , "rootDir": "./src" , }这时候你再在Terminal中输入tsc,就会有不同的效果了。
现在你在src目录下用ES6的语法写了一个demo.ts文件,代码如下。
export const name = "Riven";如果你不做任何配置,这时候试用tsc是没有效果的。你需要到tsconfig.js文件里进行修改,修改的地方有两个。
"target":'es5' , // 这一项默认是开启的,你必须要保证它的开启,才能转换成功 "allowJs":true, // 这个配置项的意思是联通这两项都开启后,在使用tsc编译时,就会编译js文件了。
如果把sourceMap的注释去掉,在打包的过程中就会给我们生成sourceMap文件.
sourceMap 简单说,Source map 就是一个信息文件,里面储存着位置信息。也就是说,转换后的代码的每一个位置,所对应的转换前的位置。有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码。这无疑给开发者带来了很大方便。
这里我不对 Source map 文件详细讲解,如果你感兴趣,可以自行百度一下吧。
比如现在我们修改demo.ts文件的代码,改为下面的样子。
const riven: string = null; export const name = "riven";这时候你会发现riven这个变量没有任何地方使用,但是我们编译的话,它依然会被编译出来,这就是一种资源的浪费。
//编译后的文件 "use strict"; exports.__esModule = true; exports.name = void 0; var jspang = null; exports.name = "riven";这时候我们可以开启noUnusedLocals:true,开启后我们的程序会直接给我们提示不能这样编写代码,有没有使用的变量。
noUnusedParameters是针对于名优使用的函数的,方法和noUnusedLocals:true一样,小伙伴们自己尝试吧。
https://www.tslang.cn/docs/handbook/compiler-options.html (编译选项详解)