NativeScript / NativeScript/nx
[question] How to use platform specific code in libs?
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 68
- Forks
- 15
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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?
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con libs/nativescript-utils/src/index.ts y los archivos específicos de cada plataforma; después, compara los archivos tsconfig.json y tsconfig.lib.json de la biblioteca con el tsconfig.app.json de las apps. Reproduce el error de que faltan archivos en la compilación de TypeScript y rastrea qué configuración controla la inclusión de archivos de la biblioteca. Se considera terminado cuando las implementaciones .ios.ts y .android.ts compilan al importarse desde la biblioteca.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- typescript
- Área
- build-system, tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100