2016-04-01 3 views
2

Я работаю над проектом с помощью:Машинопись: зарегистрировать модули и избежать использования `reference` тега

  • Угловой 2
  • машинопись (transpiled к ES5 очевидно)
  • SystemJS

Я новичок в TS.

Я построил модуль-загрузчик, который позволяет мне легко управлять некоторыми модулями и управлять ими. Используя эту систему, я могу загрузить модули с помощью import:

import {something} from '[email protected]';

Я могу сделать это благодаря SystemJS. Мои модули зарегистрированы в SystemJS (с использованием map и package). Но компилятор TypeScript ничего не знает об этих модулях. Поэтому, когда я запускаю свой блестящий npm start, и когда компилятор запускается, возникает множество ошибок.

Я хотел бы «зарегистрировать» эти модули, чтобы избежать этого побочного эффекта.

Насколько я знаю, мне не нужен .d.ts, потому что мои модули написаны непосредственно в TypeScript. Я читал кое-что о ///<reference>, и мне это не очень нравится.

Преимущество моего маленького загрузчика модулей в том, что я могу напрямую использовать модуль внутри другого. Мне просто нужно, чтобы import это независимо от того, где оно расположено и т. Д. С ///<reference>, мне также нужно указать относительный путь, и это не моя цель.

Было бы очень здорово, если бы я смог бы:

// configure a "path" in tsconfig.json 
"aliases": { 
    "/path/to/modules/folder": "modules" // <--- path:alias 
} 

// and in another file importing a module 
/// <reference path="modules/[email protected]" /> 
import {something} form '[email protected]'; 

//... 

Спасибо!

+1

Возможно [эта статья] (http://blog.johnnyreilly.com/2015/02/hey-tsconfigjson-where-have-you-been.html) может помочь вам – tforgione

+1

Эта статья очень полезна. Большое спасибо. К сожалению, я использую Webstorm. Переключитесь на Atom и сможете использовать 'filesGlob', может быть решением, но я хотел бы копать немного больше, прежде чем менять dev env :). (Я только что нашел это [проблема] (https://github.com/Microsoft/TypeScript/issues/1927)) –

ответ

1

@DragonRock, this issue и этот roadmap, это казалось бы невозможным.

Прямо сейчас.

Как вы можете видеть на дорожной карте машинописи, в версии 2,0 будет обеспечивает globs (см this issue, again !). Мы сможем добавить статические файлы в наш tsconfig.json вместо <reference>, разместив их в наших .ts файлах.

В статье @DragonRock говорится, что некоторые редакторы уже предоставляют эту функцию, например, Atom.

Большое спасибо.

+1

AFAIK, '_references.ts' файл делает именно это, вы можете перечислить файлы, на которые ссылаются глобально. –

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