3

Можно ли импортировать модуль узла в TypeScript без фактического импорта после компиляции?Импорт только в виде объявления?

Что я имею в виду:
Я создал глобальную переменную в файле под названием intellisense.ts, в котором я называю:

import * as fs from 'fs'; 

Затем в другом файле, ссылающихся нравится:

/// <reference path="./intellisense.ts" /> 
fs.existsSync('...'); 

В этот момент VSCode intellisense говорит мне, что он не может найти имя «fs».

Есть ли способ обойти это без импорта fs в другом файле?

Обратите внимание:

  • мне нужно было фс импортировать только один раз
  • Я не хочу, чтобы экспортировать фс из intellisense.ts
  • Я не хочу, чтобы импортировать intellisense.ts в любой способ
  • Я НЕ хочу иметь фс в глобальном масштабе только в качестве ссылки
+0

Вы не можете иметь все это. Если вы хотите использовать 'fs', вам нужно будет экспортировать его из' intellisense.ts', и вам нужно будет импортировать его там, где вы хотите его использовать. Другой вариант - иметь экспортированную функцию в 'intellisense.ts', которая внутренне будет использовать импортированные' fs'. В любом случае, просто ссылки на файл будут работать только для компиляции, но когда вы попытаетесь запустить его, вы получите сообщение об ошибке. –

ответ

0

I CR глобальная переменная в файле

Это не глобальная переменная. Это импортированный модуль в этом файле. Вам нужно явно импортировать модули в каждый файл, который их использует.

Больше

https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

+0

К сожалению, вы, кажется, правы ... Это очень печально, но машинопись должна иметь глобальный охват такого рода вещей. В любом случае спасибо! –

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

  • Нет связанных вопросов^_^