我试图获取一个引用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
运行 - 但这会转换项目将对test.ts的引用添加到声明
/// <reference path="typings/globals/node/index.d.ts" />
是否无法使用项目中可用的定义从TypeScript转换单个文件?
答案 0 :(得分:1)
使用Typescript 1.x,您必须在每个文件中放置一个引用路径,用于引用的任何内容。您仍然可以使用var foo = require("bar")
而无需添加参考路径。如果可以升级到Typescript 2.x,则可以在typeRoots
中指定tsconfig.json
属性,然后排除引用路径,编译器将只解析您指定的任何目录。