javascript - 将 NodeJS 项目移动到 TypeScript 的过程

标签 javascript node.js typescript

似乎仅安装它然后将文件扩展名更改为 .ts 不足以有效地将 NodeJS 项目迁移到 TypeScript。我收到大约 400 个错误,这些错误似乎主要源于模块解析问题(但不仅如此)。

有几个指南涵盖了这个主题,但它们似乎没有帮助,也许是因为它们充其量只有一岁。因此,我想请教一下最近的建议。

我需要采取哪些步骤才能将 NodeJS 项目转换为 Typescript?

最佳答案

1.在 package.json 中将类型添加到您的 devDependencies

{
  "devDependencies": {
    "typings": "latest"
  },
  "scripts": {
    "postinstall": "typings install --save"
  }
}

2. 添加 typings.json(与您的 package.json 一起),注意上面 package.json 中的 postinstall 操作 - 这将在每次 npm install 时安装 typescript 定义

{
  "globalDependencies": {
    "node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts"
  }
}

3.添加tsconfig.json

{ 
     "compilerOptions": { 
         "emitDecoratorMetadata": true, 
         "experimentalDecorators": true,
         "moduleResolution": "node",
         "module": "commonjs", 
         "target": "es6",
         "sourceMap": true,
         "outDir": "dist",
         "declaration": true,
         "allowJs": true,
         "forceConsistentCasingInFileNames": true
     },
     "exclude": [
         "node_modules",
         "dist",
         ".vscode",
         "docs"
     ]
} 

请注意,如果需要,`allowJs' 选项将帮助您保留一些未转换的 javascript 文件。

  1. 将 ts 文件的转译作为构建过程的一部分

这应该让你继续。之后逐步将 javascript 转换为 typescript 以利用其优势。

希望这对您有所帮助。

关于javascript - 将 NodeJS 项目移动到 TypeScript 的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38414461/

相关文章:

javascript - 无法使用 Angular 组件从API获取天气数据

javascript - JavaScript 的 array map 原型(prototype)是不是有点偏差?

database - 为 NodeJS : are these features supported? Sequelize

node.js - 修改和添加数据不是异步的

typescript - 如何根据文件扩展名而不是内容使 SystemJS 转译 'typescript'

javascript - 如何在鼠标悬停时显示隐藏的 div?

javascript - 如何将 Array.prototype.map() 与 then() 一起用于 connection.end()

mysql - NodeJS Express REST API 插入 MYSQL 错误

typescript - 如何定义对象的接口(interface),其每个字段必须是 TypeScript 中其他接口(interface)的实例?

typescript - 如何为 vscode 启用严格的空检查