tsconfig.json 配置文件

使用了配置文件后,使用 tsc 进行编译时,不能跟上文件名,如果跟上文件名,会忽略配置文件

{
  /*
    tsconfig.json是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译
      "include" 用来指定哪些ts文件需要被编译
        路径:** 表示任意目录
              * 表示任意文件
      "exclude" 不需要被编译的文件目录
        默认值:["node_modules", "bower_components", "jspm_packages"]
  */
  "include": [
    "./src/**/*"
  ],
  //  "exclude": [
  //    "./src/hello/**/*"
  //  ]
  /* compilerOptions 编译器的选项 */
  "compilerOptions": {
    // target 用来指定ts被编译为的ES的版本
    // 'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'esnext'
    "target": "es2015",
    /* 
      module 指定要使用的模块化的规范
      'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'esnext'
     */
    "module": "es2015",
    /* 
      lib用来指定项目中要使用的库
      'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es
      2018', 'es2019', 'es2020', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'scri
      pthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.r
      eflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.st
      ring', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', '
      es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2020.bigint', 'es2020.promise', 'es2020.s
      haredmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'esnext.array', 'esnext.symbol', 'esnext.asynciterable
      ', 'esnext.intl', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref'
     */
    // "lib": ["es6", "dom"],
    "outDir": "./dist", // outDir 用来指定编译后文件所在的目录
    // "outFile": "./dist/app.js", // 设置 outFile后,所有的全局作用域中的代码会合并到同一个文件中
    // "allowJs": true, // 是否对js文件进行编译,默认是false
    // "checkJs": true, // 是否检查js代码是否符合语法规范,默认是false
    "removeComments": true, // 是否移除注释
    "noEmit": false, // 不生成编译后的文件
    "noEmitOnError": true, // 当有错误时不生成编译后的文件
    "strict": true, // 所有严格检查的总开关
    "alwaysStrict": true, // 用来设置编译后的文件是否使用严格模式,默认false
    "noImplicitAny": true, // 不允许隐式的any类型
    "noImplicitThis": true, // 不允许不明确类型的this
    "strictNullChecks": true, // 严格的检查空值
  }
}

使用第三方库简化开发流程

  1. ts-node: 将 TypeScript 代码在内存中完成编译,同时完成运行;

  2. nodemon: 用于检测文件的变化;

  3. 示例代码

    # nodemon 监控代码改动,改动后自动执行 --exec 后面的命令
    # -e ts 表示 nodemon 只监听 ts 后缀的文件改动
    # --watch src 只监听 src 目录下的
    nodemon --watch src -e ts --exec ts-node src/index.ts
    
打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. tsconfig.json 配置文件
  2. 2. 使用第三方库简化开发流程