NativeScript / NativeScript/nx
[question] How to use platform specific code in libs?
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 68
- Fork
- 15
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
It's me again :)
This time it's a question on how to do platform specific code in the libs. Here's my current issue:
I have these files under libs/nativescript-utils:
- src/lib/nativescript-utils.d.ts
export function nativescriptUtils(): string;
- src/lib/nativescript-utils.android.ts
- src/lib/nativescript-utils.ios.ts
- src/index.ts
export * from './lib/nativescript-utils';
Then I import the nativescriptUtils() in the app. When running the app I get this error:
ERROR in ../../libs/nativescript-utils/src/lib/nativescript-utils.ios.ts
Module build failed (from ../../node_modules/@ngtools/webpack/src/index.js):
Error: /Users/frank/git/private/nx-mobile-test/libs/nativescript-utils/src/lib/nativescript-utils.ios.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
at /Users/frank/git/private/nx-mobile-test/node_modules/@ngtools/webpack/src/ivy/loader.js:64:26
@ ../../libs/nativescript-utils/src/index.ts 1:0-41 1:0-41
@ ./src/features/home/components/home.component.ts 2:0-71 12:41-58
@ ./src/features/home/home.module.ts 5:0-50
@ ./src/app.routing.ts 15:28-65
@ ./src/app.module.ts 3:0-49 10:89-105
@ ./src/main.ts 6:0-41 11:69-78
I did the same exercise under apps, d.ts + ios.ts + android.ts + index.ts -> same issue -> solved it by adding "**/*.ios.ts" to includes in tsconfig.app.json. But no matter what I do in the libs and tsconfig.json or tsconfig.lib.json, it's not being picked up.
Do you have any tips on how to fix this?
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da libs/nativescript-utils/src/index.ts e dai file specifici della piattaforma, quindi confronta i file tsconfig.json e tsconfig.lib.json della libreria con il tsconfig.app.json delle app. Riproduci l’errore relativo ai file mancanti nella compilazione TypeScript e traccia quale configurazione controlla l’inclusione dei file della libreria. Il lavoro è completato quando entrambe le implementazioni .ios.ts e .android.ts vengono compilate quando importate dalla libreria.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript
- Ambito
- build-system, tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100