一直在使用VS Code,今天打算用Node.js进行文件IO时候遇到了一些问题,fs是Node.js的核心功能之一,一开始我用Javascript编写fs模块的导入。
var fs = require(“fs”);// It works well using javascript
看上去不错,但我很想使用TypeScript提供的class、constructor 、let等有趣的新功能,所以我把后缀改成ts,打算提前尝试一下这些在ES6甚至是ES7才会到来的新特性。但是很快,我就遇到了问题。 首先是require的错误:
var fs = require(“fs”);//cannot find name ‘require’
在查了一些资料之后,可能是因为缺乏在TypeScript下的Node.js定义文件(You need to include the definition file for node),通过安装Typings(The TypeScript Definition Manager,一个TypeScript定义管理器)可以解决这个问题。
StackOverflow上的类似问题
在终端中使用$ npm install typings -g时候,可能会遇到遇到权限问题,在命令前加上sudo使用超级权限解决这个问题。
安装之后可以输入
typings -v
来查看版本确认成功安装,在项目文件夹下启动终端,使用
typings install dt-node --global --save
安装node的类型信息文件,typings的选项相当丰富,还有很多的配置可以选择,配合typings可以为VSCode添加任意语言的类似snippet插件功能,超赞。 Visual Studio Code 使用 Typings 实现智能提示功能 在项目中会多出一个typings文件夹,在ts文件上方加入
/// <reference path="./typings/index.d.ts" />
import * as fs from 'fs';// It works well using TypeScript
通过TypeScript的方式导入的文件模块才会出现代码提示。 |