Já se vysvětlit, moje otázka pro velmi specifický případ použití.
Řekněme, že jsem navržen tak, můj kód takto:
A to je obsah:
src/vnitřní/vnitřní.darwin.ts:
export default function logger() {
console.log('Darwin Logger');
}
src/vnitřní/vnitřní.systém windows.ts:
export default function logger() {
console.log('Windows Logger');
}
src/vnitřní/vnitřní.ts:
POZNÁMKA: export default - to je povinné
import LOGGER from '???????????';
export default class A {
public static logger() {
LOGGER();
}
}
Takže v podstatě, když jsem se sestavit kód systému Windows, chci importovat inner.windows.ts
kód. Při použití Mac kód - inner.darwin.ts
kód.
Vím, že mohu kontrolovat vyloučit soubory v tsconfig.json
.
Takže když budu vytvářet aplikace pro Windows, budu kódu:
"exclude": ["**/*.darwin.ts"]
A když jsem se vytvořit jeden Mac:
"exclude": ["**/*.windows.ts"]
Nicméně, to nepomohlo, pro vyřešení import problém.
Vím, že může spustit kód závisí na základní platformu, pomocí process.platform
, ale to není dělat práci. Chci, aby výstup aplikace systému Windows, aby se více malé velikosti - a ignorovat Mac kód. Pokud bych použil tohle process.platform
- Mac kód by stále existují v hlubších aplikace systému Windows.
Nějaké rady?
Může Webpack udělat něco, co pomůže? Jsem otevřený pro jakékoliv změny kódu tak dlouho, jak kód je dobře definované a rozdělené, a konečný výsledek je, že mám jen Darwin kód a kód systému Windows