#Node.js的fs导入遇到的问题和解决方案

一直在使用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的方式导入的文件模块才会出现代码提示。

猜你喜欢

转载自www.cnblogs.com/CookieBox/p/10164890.html