javascript - Exportera 'default' med index.ts


Jag har följande projektstruktur:

build/
    build.ts
config/
    config.ts
    index.ts
...

Filen config.ts innehåller en standardexporterad typ som detta:

export default {
    myProp: {
        someProp: "someValue"
    }
}

Och index.ts inom config/ ser ut så här:

export * from './config';

Nu skulle jag vilja importera config-typen inom build.ts så här:

import config from '../config';

Men när jag använder det (t.ex. med config.myProp) säger det till mig att myProp inte finns på index.ts.

Enligt den officiella moduldokumentationen här borde detta fungera alldeles utmärkt. Missar jag något här?

Svar #1

I config/index.ts exportera om config på följande sätt:

export {default as config} from './config';

Sedan i build/build.ts:

import {config} from '../config;

Svar #2

Det verkar som att det finns en trend mot att inte använda standardexport, på grund av antalet potentiella problem. Rekommendationen är att använda namngivna export. Jag själv följer gärna konventionen att endast använda namngivna export. Skälen som visas här stämmer överens med min erfarenhet i ämnet.

Men om du fortfarande väljer att exportera som standard, då tror jag att du borde kunna exportera om det i config/index.ts så här:

export {default} from './config';

Då i build/build.ts borde du kunna göra en

import config from '../config';

Relaterade artiklar