TS文件编译配置

TS编译配置

      • 编译

typescript官网- tsconfig-json

编译

  • 编写完ts文件,通过tsc ts文件名,来编译指定文件,

  • tsc ts文件名 -w (watch:看,观察),监视指定文件,变化时自动编译

  • tsconfig.json (一次性编译而且同时监视) 编译项目中配置内的ts文件, 命令行输入 tsc ,就可以将全部文件编译, 输入tsc -w就是监视所有文件

  • 配置项

    • include: 指定文件或目录下

    • exclude:不需要进行编译,默认值 [“node_modules”,“bower_components”,“jspm_packages”]

    • extends:多个json配置文件引入进来,相当于import引入外部文件

    • files:指定个别文件编译,只能写文件名

    • compilerOptions: 编译器基本选项

      • target:编译为何种版本,默认ES3, let 使用 var,ES6 let 不变,ESNext表示最新版本的ES
      • module:模块化类型,‘none’, ‘commonjs’, ‘amd’, ‘system’, ‘umd’, ‘es6’, ‘es2015’, ‘es2020’, ‘es2022’, ‘esnext’, ‘node12’, ‘nodenext’. es6与es2015效果几乎等同
      • lib:(libary库) 指定项目中要使用的库,一般情况下不需要去更改
      • outDir:编译后文件目录
      • outFile:编译后文件中全局作用域代码合并为一个文件,如果要使多个模块合并在一个文件当中,module使用 amd或system,一般不配置,而通过打包工具来实现这个功能
      • allowJs:是否编译js文件,默认为false,如果我们模块使用js写的,那么我们需要将allowJs设置为true
      • checkJs:检查js是否符合js语法, 默认为false,checkJs与allowJs一般是一起用的
      • removeComments:是否移除注释,默认false
      • noEmit:编译是否需要产生编译后的代码,只使用它来检查一下代码是否有错,默认为 false
      • noEmitOnError:指当有错误时是否生成文件,默认为false
      • alwaysStrict:编译后的文件是否使用严格模式(即在js文件开头添加“use strict”),默认为false
      • noImplicitAny:(implicit:隐式)是否对any类型检查,改为true进行检查
      • noImplicitThis:.检查不明确的this类型
        function fn(this){
          alert(this) // this指向window
        }
        function fn(this: window){
          alert(this) // 明确 window 类型
        }
      
      • strictNullChecks :严格的检查空值,默认为false
      • strict:所有严格检查的总开关,默认false,一般开发打开
//  tsconfig.json
{
   "include": ["./index.ts","./test.ts"]  //表示这两文件
   "include": ["./src/*"],   //'*'任意文件 。'**'任意目录
   "exclude": ["./src/index.ts"],  //不对index.ts文件编译
   "compilerOptions": {
	    "target": "ES6",
	    "module": "system",
	    "lib": [],
	    "outDir": "./dish",
	    "outFile": "./dish/app.js",
	    "allowJs": false,
	    "checkJs": false,
	    "removeComments": false,
	    "noEmit": false,
	    "noEmitOnError": true,
	    "alwaysStrict": true,
	    "noImplicitAny": true,
	    "noImplicitThis": true,
	    "strictNullChecks": true,
	    "strict": false
  	},
}

你可能感兴趣的:(TypesScript,前端,typescript,编辑器)