(五)Typescript的项目配置

加入QQ群:864680898,一起学习进步!点击群名可查看本人网站,有最新文章!

(五)Typescript的项目配置

一、使用tsconfig.json

  • 1、不带任何输入文件的情况下调用tsc,编译器会从当前目录开始去查找tsconfig.json文件,逐级向上搜索父目录。
  • 2、不带任何输入文件的情况下调用tsc,且使用命令行参数–project(或-p)指定一个包含tsconfig.json文件的目录。

二、tsc常用命令

查看完整的命令的话:完整编译选项启动命令

tsc --init  // 初始化tsconfig.json配置文件
tsc -h      // 查看帮助
tsc -v      // 查看版本
tsc -w      // 在监听模式下运行编译器,能捕获ts文件更改,自动转换为js代码

三、一个中文的注释每个配置的用途

附带一个tsconfig.json的中文注释每个功能

{
  "compilerOptions": {
    /* 基本选项 */
    "target": "es5",                          /* 指定ECMAScript目标版本: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
    "module": "commonjs",                     /* 指定模块代码生成: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
    // "lib": [],                             /* 指定要包含在编译中的库文件 */
    // "allowJs": true,                       /* 允许编译javascript文件 */
    // "checkJs": true,                       /* 报告.js文件中的错误 */
    // "jsx": "preserve",                     /* 指定JSX代码生成: 'preserve', 'react-native', or 'react'. */
    // "declaration": true,                   /* 生成相应的 '.d.ts' file. */
    // "sourceMap": true,                     /* 生成相应的 '.map' file. */
    // "outFile": "./",                       /* 将输出连接并发送到单个文件 */
    // "outDir": "./",                        /* 将输出结构重定向到目录 */
    // "rootDir": "./",                       /* 指定输入文件的根目录。用于通过--outdir控制输出目录结构 */
    // "removeComments": true,                /* 不要向输出发出注释 */
    // "noEmit": true,                        /* 不要发射输出 */
    // "importHelpers": true,                 /* 从“tslib”导入emit helpers */
    // "downlevelIteration": true,            /* 当语法为es5,es3时,为“for of”、“spread”和“destructing”中的iterables提供全面支持 */
    // "isolatedModules": true,               /* 将每个文件作为单独的模块(类似于'ts.蒸腾模块') */

    /* 严格模式下 */
    "strict": true,                           /* 严格模式下执行 */
    // "noImplicitAny": true,                 /* 对具有隐含“any”类型的表达式和声明引发错误,这个其实可以改为 false */
    // "strictNullChecks": true,              /* 启用严格的空检查 */
    // "strictFunctionTypes": true,           /* 启用对函数类型的严格检查 */
    // "strictPropertyInitialization": true,  /* 启用对类中的属性初始化的严格检查 */
    // "noImplicitThis": true,                /* 使用隐含的“any”类型对“this”表达式引发错误 */
    // "alwaysStrict": true,                  /* 以严格模式分析并为每个源文件发出“use strict” */

    /* 附加 */
    // "noUnusedLocals": true,                /* 报告未使用的局部变量的错误 */
    // "noUnusedParameters": true,            /* 报告未使用参数的错误 */
    // "noImplicitReturns": true,             /* 函数中并非所有代码路径都返回值时报告错误 */
    // "noFallthroughCasesInSwitch": true,    /* 在switch语句中报告fallthrough事例的错误 */

    /* 模块分辨率选项 */
    // "moduleResolution": "node",            /* 指定模块解析策略: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
    // "baseUrl": "./",                       /* 用于解析非绝对模块名称的基目录 */
    // "paths": {},                           /* 将导入重新映射到相对于“baseurl”的查找位置的一系列条目 */
    // "rootDirs": [],                        /* 其组合内容表示运行时项目结构的根文件夹列表 */
    // "typeRoots": [],                       /* 要包含类型定义的文件夹列表 */
    // "types": [],                           /* 要包含在编译中的类型声明文件 */
    // "allowSyntheticDefaultImports": true,  /* 允许从没有默认导出的模块中导入默认值。这不影响代码发出,只影响类型检查 */
    "esModuleInterop": true,                  /* 通过为所有导入创建命名空间对象,实现commonjs和es模块之间的互操作性。表示“allowSyntheticDefaultImports” */
    // "preserveSymlinks": true,              /* 不要解析符号链接的实际路径 */

    /* Source Map Options */
    // "sourceRoot": "./",                    /* 指定调试器应在其中定位typescript文件而不是源位置 */
    // "mapRoot": "./",                       /* 指定调试器应定位映射文件而不是生成位置的位置 */
    // "inlineSourceMap": true,               /* 使用源映射发出单个文件,而不是使用单独的文件 */
    // "inlineSources": true,                 /* emit源的sourcemaps同时在一个单一的文件; requires '--inlineSourceMap' or '--sourceMap' to be set. */

    /* 实验性选择 */
    "experimentalDecorators": true,           /* 就是支持ES7才有的装饰器 */
    // "emitDecoratorMetadata": true,         /* 启用对为装饰器发出类型元数据的实验支持 */
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值