如何使用ES6模块创建一个简单的(Hello World)node.js TypeScript项目?

如何使用ES6模块创建一个简单的(Hello World)node.js TypeScript项目?

问题描述:

想象一下,一个非常简单的程序,它使用ES6模块并在一个单独的文件中使用主文件和一些函数,并且打算与node.js一起运行。如何使用ES6模块创建一个简单的(Hello World)node.js TypeScript项目?

我-utils.ts:

import * as fs from "fs"; 

export function readSimpleFile() { 
    return fs.fileReadSync("hello.txt", "utf-8"); 
} 

main.ts:

import {readSimpleFile} from "./my-utils" 

console.log(readSimpleFile()); 

什么是文件的最小集合我需要添加到该项目,并命令我要运行得到它构建,运行和检查类型?

如果您要在节点上运行一个打字稿项目,您至少需要在您的平台上安装节点,npm和打字稿。

使用IDE设置项目

使用的IntelliJ IDEA或Webstorm(他们是我所知道的最好的),打字稿到JavaScript的编译是自动完成的;你只需要做一些设置。

让我们假设您有一个名为project.ts的文件,其中包含您的hello世界代码; IDEA或Webstorm将您的代码编译为project.js。那么你只需要做node project.js来运行你的项目。

尽一切从头开始

首先,你需要知道究竟何处您的NPM包全球的装机量。该命令可以帮助您识别路径:npm config get prefix。在这个文件夹中,您应该有一个包含打字稿模块的nodes_modules子文件夹。如果没有打字稿模块,那是因为您没有在全局安装打字稿(npm install -g typescript)。

然后,您必须在环境变量中添加bin of typescript subfolder的路径。

现在您可以使用typescipt编译项目:tsc project.ts,您可以运行它node project.js

由于您正在使用像fs这样的节点功能,因此在编译tsc之前,您需要安装节点类型npm install @types/node --save-dev

编译选项

要启用或禁用所有严格的类型检查选项,您可能需要使用编译选项。您必须创建指定编译选项的文件:tsc --init将创建一个tsconfig.json,您可以在其中指定编译应用程序期间您想要的行为。所有选项都列出here

+1

'@ types/node'就是我在安装导入'fs'并使用节点内置函数之后缺少的功能。 :)我还发现'ts-node'软件包很有用:它的启动速度比普通的'node'慢一点,但是如果出现错误,你会得到一个有用的回溯(引用'.ts'文件,而不是'.js ''),再加上不需要运行'tsc'来执行代码。 – Alicia

+0

太棒了!你能接受答案吗? – edkeveked