2016-10-05 2 views
0

Im пытается получить один файл TypeScript, который ссылается на объекты Node.js, чтобы перекрыть.Передача одного файла TypeScript с типом

test.ts

import { resolve } from 'path'; 

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

Я пытаюсь собрать этот файл из командной строки с помощью tsc test.ts и получить следующие ошибки:

test.ts (2,25) : ошибка TS2307: Не удается найти модуль «путь».
test.ts (4,41): ошибка TS2304: Не удается найти имя '__dirname'.

У меня есть tsconfig.json в моем корне, и я также установил Typings с соответствующими объявлениями node.js.

Что работает:

  • Бег с tsc самих по себе бут это transpiles всех т.с. файлов в проекте
  • Добавление ссылки на test.ts к объявлению

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

Невозможно le для перевода одного файла из TypeScript с использованием определений, доступных в проекте?

ответ

1

С помощью Typcript 1.x вы должны указать ссылку в каждом файле для всего, что вы указываете в качестве импорта. Вы все равно можете использовать var foo = require("bar") без добавления ссылочного пути. Если вы можете обновить до TypScript 2.x, вы можете указать свойство typeRoots в tsconfig.json, и тогда вы можете исключить ссылочный путь, компилятор будет просто анализировать любой каталог, который вы указали.

Смежные вопросы