[question] How to use platform specific code in libs?
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- typescript
- Domínio
- build-system, tooling
Direção de pesquisa
Comece por libs/nativescript-utils/src/index.ts e pelos arquivos específicos da plataforma e, em seguida, compare os arquivos tsconfig.json e tsconfig.lib.json da biblioteca com o tsconfig.app.json dos apps. Reproduza o erro de arquivos ausentes na compilação do TypeScript e rastreie qual configuração controla a inclusão dos arquivos da biblioteca. Está concluído quando as implementações .ios.ts e .android.ts compilarem ao serem importadas da biblioteca.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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?
- Linguagem predominante
- TypeScript
- Estrelas
- 68
- Forks
- 15
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de NativeScript/nx
-
Add support for "nx publish" Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
NativeScript/nx#88 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 30/100
NativeScript/nx#84 · 3 comentários ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 45/100
NativeScript/nx#80 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
NativeScript/nx#78 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
NativeScript/nx#76 ·
Todas as issues de NativeScript/nx
Issues semelhantes
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Crush Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
ElementsProject/cln-application#167 · 1 comentário · 1 reação ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100