一直在使用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定義管理器)可以解決這個問題。
在終端中使用$ 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的方式導入的文件模塊才會出現代碼提示。