Замените пространства имен TypeScript модулями ES2015.

Недавно я перенастроил настройку машинописного текста и теперь получаю ошибки, вызванные правилом без пространства имен.

Моя текущая настройка с пространствами имен выглядит следующим образом:

класс, который что-то экспортирует:

namespace MyNamespace {
    export class Foo {}
    export class Bar {}
}

класс, который импортирует:

import MyNamespace from './my-namespace';

// access classes
MyNamespace.Foo;
MyNamespace.Bar;

Я хочу заменить эту настройку рекомендуемыми модулями ES2015 (я не хочу просто отключать правило). Как бы я это сделал? Оптимально, я хочу сохранить свой текущий синтаксис импорта, мне не особо нравится синтаксис import {Foo, Bar} from './my-namespace'.


person Lehks    schedule 02.07.2020    source источник


Ответы (2)


Если вы хотите использовать пространство имен для импорта, используйте синтаксис импорта * as ...:

export class Foo {}
export class Bar {}
import * as MyNamespace from './my-namespace';

// access classes
MyNamespace.Foo;
MyNamespace.Bar;
person cyr_x    schedule 02.07.2020

Если вы используете export , вы можете сделать что-то, как упоминалось @cyr_x. Просто хочу отметить, что использование export default также допустимо для использования пространства имен.

export {default as YourCustomisedName} from '<your file path>'
person tcf01    schedule 02.07.2020