nodemon typescript?

 目录

1.在vscode中安装typescript

2.typescript编译成JavaScript

3.tsconfig.json 的配置

 4.vscode对typescript的检测功能


在写api接口的时候,觉得没有提示很不爽,想用typescript把js'文件全部重写一遍

我默认你使用vscode开发


1.在vscode中安装typescript

npm i typescript -g

-g的意思是全局安装,这样就不用每次写ts文件都要安装了 

如果控制台报错npm不可用,请安装node再使用 

检查ts的版本信息以确保安装正确 

tsc --version

出现和我这样的版本信息就代表可以正确使用ts了!

由于*.ts文件最终的运行需要依靠js。所以必须先将ts编译成js才能运行。

我给出示例 如上

2.typescript编译成JavaScript

但细心的朋友可能发现了,10年的javascript代码跟现在的js代码是不一样的。

以前javascript没有class的语法。只能采用原型链条。为了方便理解,加深印象,我给出例子。

这是采用类的写法

        class Father {
            move = () => console.log('我在走路');
            constructor(age, assets) {
                this.age = age;
                this.assets = assets;
            }
        }
        class Son extends Father {
            constructor(age, assets) {
                this.name = '张三'
                this.wife = '右手'
                super(age, assets);
            }
        }

而另一种方法 则需要这么多代码,使用原型链的方法实现。

 function Father(age, assets) {
            Father.prototype.move = function () {
                console.log('我在走路')
            }
            Object.defineProperty(Father.prototype.__proto__, 'age', {
                value: age,
                writable: true,
            })
            Object.defineProperty(Father.prototype.__proto__, 'assets', {
                value: assets,
                writable: true
            })
        }
        function Son(age, assets) {

            Son.prototype.name = "张三"
            Son.prototype.wife = '右手'
            Son.prototype.__proto__.__proto__ = new Father(age, assets).__proto__.__proto__
        }

那么… typescript怎么知道我想要什么样子的代码呢?我到底是要原型链还是要class。到底是要require还是要import。typescript不知道,但是 它知道。

它是谁?他就是 tsconfig.json 

3.tsconfig.json 的配置

  • 在根目录下新建 tsconfig.json 文件
  • 配置相关信息

{
  "compilerOptions": {
    "target": "es5", // 指定 ECMAScript 版本
    "module":"CommonJS", // 当前编写的module类型。
    "outDir": "./dist",                             
    "rootDir": "./src", 
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ], // 要包含在编译中的依赖库文件列表
    "allowJs": true, // 允许编译 JavaScript 文件
    "skipLibCheck": true, // 跳过所有声明文件的类型检查
    "esModuleInterop": true, // 禁用命名空间引用 (import * as fs from "fs") 启用 CJS/AMD/UMD 风格引用 (import fs from "fs")
    "allowSyntheticDefaultImports": true, // 允许从没有默认导出的模块进行默认导入
    "strict": true, // 启用所有严格类型检查选项
    "forceConsistentCasingInFileNames": true, // 不允许对同一个文件使用不一致格式的引用
    "module": "esnext", // 指定模块代码生成
    "moduleResolution": "node", // 使用 Node.js 风格解析模块
    "resolveJsonModule": true, // 允许使用 .json 扩展名导入的模块
    "noEmit": true, // 不输出(意思是不编译代码,只执行类型检查
    "jsx": "react", // 在.tsx文件中支持JSX
    "sourceMap": true, // 生成相应的.map文件
    "declaration": true, // 生成相应的.d.ts文件
    "noUnusedLocals": false, // 报告未使用的本地变量的错误
    "noUnusedParameters": false, // 报告未使用参数的错误
    "experimentalDecorators": true, // 启用对ES装饰器的实验性支持
    "incremental": true, // 通过从以前的编译中读取/写入信息到磁盘上的文件来启用增量编译
    "noFallthroughCasesInSwitch": true 
  },
  "include": [
    "src/**/*" // *** TypeScript文件应该进行类型检查 ***
  ],
  "exclude": ["node_modules", "build"] // *** 不进行类型检查的文件 ***
}

你大可以直接复制进去。需要注意的是

  1.  "outDir": "./dist":表示typescript编译输出后的路径
  2.  "rootDir": "./src",:表示typescript需要编译的路径

比如这就是我的实例。写在src下的ts文件使用tsc命令之后编译到dist目录下。随后就可以通过nodemon、或者PM2进行运行 

 typescript写接口是爽了。但是每次都要编译。比如我就是每次写完数据库接口都要编译一次。所以接下来你们猜到了吧。我要提出一种实时编译的功能。

看到这里请点个赞吧亲看到这里请点个赞吧亲看到这里请点个赞吧亲看到这里请点个赞吧亲


 4.vscode对typescript的检测功能

ts文件的强类型给我们提供了便利的同时,也带来了一些弊端。你是否记得你使用js的初衷。能过够实时刷新代码而沾沾自喜。而ts却违背了这个原则,每次需要编译成js文件才能运行。这岂不是比java文件还麻烦?

好在这个宇宙之第一编辑器能解决一切问题

vscode强大的任务检测功能可以检测ts文件的变化并自定义任务。前提是有json配置文件。

很好。tsconfig.json我们已经配置了。

 


选择监视ts文件就能文件更改后自动编译  是不是很神奇

只要每次保存,vscode就屁颠屁颠的去编译了

5.nodemon的使用

nodemon是一种工具,可在检测到目录中的文件更改时通过自动重新启动 node 应用程序来帮助开发基于 node.js 的应用程序

但其实这不是唯一的方法,不过在测试阶段,nodemon是最佳的选择 


  • 前面已经实现了ts文件实时编译。要是js文件能够实时解释运行,那岂不是更好?
  • 虽然我们可以使用html中写js代码然后在浏览器实时运行,但是这毕竟不是写的原生的js代码。你要是手动复制代码进html文件。未免有点难受
  • 我们可以使用 node *.js命令运行js程序。但是这个效率不高。
  • nodemon插件的出现 解决了你的问题。检测运行的js文件变化。每次js代码变化就会重新运行。
  • nodemon的弊端也有,如果出现了线程阻塞就会产生意想不到的后果,不过对于开发环境下是绰绰有余了。

npm i -g nodemon //安装nodemon插件

走到这里,我们就已经实现了实时编译ts文件啦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!对于在VS Code中使用TypeScript进行本地开发,您可以按照以下步骤进行设置: 1. 安装Node.js:首先,确保您已在计算机上安装了Node.js。您可以从Node.js官方网站(https://nodejs.org/)下载并安装适用于您操作系统的版本。 2. 安装VS Code:如果您尚未安装VS Code,可以从官方网站(https://code.visualstudio.com/)下载并安装适用于您操作系统的版本。 3. 打开项目文件夹:在VS Code中打开您的TypeScript项目文件夹。您可以通过选择“文件”->“打开文件夹”或使用快捷键Ctrl+KCtrl+O来完成。 4. 初始化TypeScript配置:在打开的项目文件夹中,打开终端(可以通过选择“终端”->“新建终端”或使用快捷键Ctrl+`来打开)。然后运行以下命令来初始化TypeScript配置: ``` npm init -y ``` 这将创建一个`package.json`文件,用于管理项目的依赖项。 5. 安装TypeScript依赖项:在终端中运行以下命令来安装TypeScript及其相关工具: ``` npm install typescript ts-node nodemon --save-dev ``` 这将安装TypeScript编译器以及用于运行和自动重启应用程序的工具。 6. 创建TypeScript配置文件:在项目根目录下创建一个`tsconfig.json`文件,并将以下内容添加到文件中: ```json { "compilerOptions": { "target": "es6", "module": "commonjs", "outDir": "dist", "strict": true }, "include": [ "src/**/*.ts" ] } ``` 这将配置TypeScript编译选项和源代码目录。 7. 创建源代码文件夹:在项目根目录下创建一个`src`文件夹,并将您的TypeScript源代码文件放在其中。 8. 启动应用程序:在终端中运行以下命令来启动您的应用程序: ``` npx nodemon --exec npx ts-node src/index.ts ``` 这将使用`nodemon`工具监视文件更改并自动重新启动应用程序。 现在,您可以在VS Code中进行TypeScript本地开发了!如果您修改了TypeScript源代码文件,应用程序将自动重新编译和重新启动。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值