如上所示,我更喜欢严格的 tsconfig 文件,你可以不必这样做。我喜欢把自己的目标代码语法版本设定的很高( esnext 或 es2018),因为 Node.js 对新的 JavaScript 功能支持的非常好。
程序
我们仍然需要将 JavaScript 文件的扩展名从 .js 改为.ts。让我们这样做并尝试运行项目。
运行项目后,可以立即看到我们在创建的测试应用程序中犯了“错误”。我们无法对 package.json 中的 name 字段进行解构,因为它可能已经被定义了或者我们覆盖了它。所以需要做一些改动。
// information-logger.ts
import os from 'os';
import { name, version } from '../package.json';
export class InformationLogger {
static logApplicationInformation(): void {
console.log({
application: {
name,
version,
},
});
}
static logSystemInformation(): void {
console.log({
system: {
platform: process.platform,
cpus: os.cpus().length,
},
});
}
}
// main.ts
import { InformationLogger } from './information-logger';
InformationLogger.logApplicationInformation();
InformationLogger.logSystemInformation();如果你遵循了前面所有步骤,那么现在项目结构应该是这样的:
dist/
main.js
node_modules/
src/
information-logger.ts
main.ts
package-lock.json
package.json
tsconfig.json
webpack.config.js
我们已准备好用 TypeScript 编写 Node.js 程序了!
最后的注意事项
我确信在 TypeScript 中有数千种不同的方法来编写 Node.js 应用程序。我所写下的绝不是你必须要照样做的方式,这只是你可以做到的方式中的一种。
剩下来的步骤可能是添加 TSLint 集成,添加 Dockerfile,设置 CI 管道……一切尽在你的掌握之中。









