TS编译选项

自动监控编译

tsc xxx.ts -w

在一个文件夹下,创建 tsconfig.json 文件,在用命令 tsc 就可以自动编译当前文件夹下的ts文件

tsconfig.json文件配置如下:

复制代码
{
    /*
    tsconfig.json 是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译
    "include" 用来指定哪些ts文件需要被编译
    "exclude" 不需要被编译的文件目录
        默认值:["node_modulex","bower_components","jspm_packages"]
    "extends" 定义被继承的配置文件
        "extends":"./config/base" 表示当前配置文件中会自动包含config目录下base.json中的所有配置信息
    "files" 指定被编译文件的列表,只有需要编译的文件少时才会用到
        "files":[
            "core.ts",
            "sys.ts",
            "types.ts"        
        ]
    
    */
    "include":[
        "./src/**/*"    // *任意文件   **任意目录
    ],
    "exclude":[
        "./sr/hello/**/*"    
    ],
    /*
    compilerOptions 编译器的选项
    它决定了我们编译器如何去对我们这个ts文件进行编译
    
    */
    "compilerOptions":{
        //target 用来指定被编译的js版本
        "target":"es2015", //esnest表示最新的es版本
        //module 用来指定使用的模块规范
        "module":"es2015", //CommonJS、UMD、AMD、System、ES2020、ESNext、None
        //lib 用来指定项目中要使用的库
        "lib":["dom"],
        //outDir 用来指定编译后文件所在目录
        "outDir":"./dist",
        //outFile 将代码合并成一个文件,所有全局作用域中的代码会合并到同一个文件中
        "outFile":"./dist/app.js",
        //是否对js文件进行编译,默认是false
        "allowJs":false,
        //checkJs 是否检查js代码语法规范,默认是false
        "checkJs":false,
        //removeComments 是否移除注释,默认值false
        "removeComments":true,
        //noEmit 不对代码进行编译
        "noEmit":false,
        //当有错误的时候不生成编译文件
        "noEmitOnError":false,
        //sourceMap 是否生成sourceMap
        "sourceMap":false,
        
        //严格检查的总开关
        "strict":false //如果是false表示以下所有的严格检查都关闭,true表示都开启
        //用来设置编译后的文件是否使用严格模式,默认false
        "alwayStrict":false,
        //不允许隐式any类型
        "noImplicitAny":true,
        //不允许不明确类型的this
        "noImplicitThis":false,
        //严格检查空值
        "strictNullChecks":true,
        
        
    }
}
相关推荐
简单Janeee1 分钟前
[Vue 3 从零到上线]-第四篇:组件化思维——把网页像积木一样拆解
javascript·vue.js·ecmascript
PingdiGuo_guo2 分钟前
C++数据类型、变量常量
开发语言·c++
多恩Stone1 小时前
【C++ debug】在 VS Code 中无 Attach 调试 Python 调用的 C++ 扩展
开发语言·c++·python
PingdiGuo_guo1 小时前
C++联合体详解!
开发语言·c++
全栈老石1 小时前
手写一个无限画布 #1:坐标系的谎言
前端·canvas
XW01059991 小时前
4-11判断素数
前端·python·算法·素数
J2虾虾1 小时前
Spring Boot中使用@Scheduled做定时任务
java·前端·spring boot
Heo1 小时前
深入React19任务调度器Scheduler
前端·javascript·面试
一枚前端小姐姐1 小时前
Vue3 + Pinia 状态管理,从入门到模块化
前端·vue.js
boooooooom1 小时前
Vue3 nextTick 实现大变化:微任务优先,彻底搞懂渲染时机!
javascript·vue.js·面试