使用键入

时间:2016-10-05 14:09:51

标签: node.js typescript

我试图获取一个引用Node.js对象的TypeScript文件进行转换。

test.ts

import { resolve } from 'path';

console.log(`test:  ${resolve(__dirname)}`);

我正在尝试使用tsc test.ts从命令行编译此文件,并收到以下错误:

  

test.ts(2,25):错误TS2307:找不到模块'path'   test.ts(4,41):错误TS2304:找不到名称'__dirname'。

我的根目录中有tsconfig.json,我还使用正确的node.js声明安装了Typings。

什么有效:

  • 单独使用tsc运行 - 但这会转换项目
  • 中的所有ts文件
  • 将对test.ts的引用添加到声明

    /// <reference path="typings/globals/node/index.d.ts" />

是否无法使用项目中可用的定义从TypeScript转换单个文件?

1 个答案:

答案 0 :(得分:1)

使用Typescript 1.x,您必须在每个文件中放置一个引用路径,用于引用的任何内容。您仍然可以使用var foo = require("bar")而无需添加参考路径。如果可以升级到Typescript 2.x,则可以在typeRoots中指定tsconfig.json属性,然后排除引用路径,编译器将只解析您指定的任何目录。