Vscode-ng-language-service: Componente não incluído em um aviso de módulo para todos os componentes não no AppModule raiz

Criado em 8 dez. 2016  ·  30Comentários  ·  Fonte: angular/vscode-ng-language-service

Oi,

Isso parece muito promissor, mal posso esperar para usá-lo!

No entanto, estou tendo problemas para fazer isso reconhecer componentes que são declarados em módulos de recursos (com carregamento lento ou não). Todos esses componentes têm o seguinte aviso (com rabiscos vermelhos sob o decorador do componente).

[Angular] Component 'xxxComponent' is not included in a module and will not be available inside a template. Consider adding it to a NgModule declaration

Isso significa que em modelos (o modelo app.component.html no módulo raiz é o único) neste módulo, posso fazer com que a conclusão etc. funcione para diretivas que estão no mesmo módulo e diretivas embutidas angulares importadas. No entanto, diretivas de meus próprios módulos importados, recebo o seguinte.

[Angular] 'app-nav' is not a known element: 1. If 'app-nav' is an Angular component, then verify that it is part of this module. 2. If 'app-nav' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schemas' of this component to suppress this message.
Perdi algo ou talvez seja um bug?

Estou muito animado para usar isso. Isso tornará minha experiência de codificação do Angular 2 muito melhor e, com sorte, economizará muito tempo, então, obrigado!

bug tracking in angular

Comentários muito úteis

Estou usando o Angular Language Service 0.1.3 e ainda estou tendo o mesmo problema.

Todos 30 comentários

Pode ser um bug, mas não tenho certeza. Você pode produzir um repositório que reproduza esse problema?

Este erro é gerado quando você inclui uma referência a um componente que não está incluído no NgModule que está declarado ou em um dos NgModule s que é importado por seu módulo.

O serviço de linguagem varre todo o projeto (tudo incluído pelo tsconfig.json) em busca de @NgModule declarações e cria um gráfico de dependência entre os componentes e os módulos. O primeiro erro é gerado para componentes que não são declarados em um módulo e o segundo é para referências a componentes não acessíveis a partir do módulo em que o componente está.

Acabei de tentar em um novo projeto angular-cli, mas não consigo reproduzir o problema. Não tenho certeza se é um problema que afeta apenas projetos acima de um determinado tamanho limite / estrutura de módulo.

O projeto em que descobri o problema tem 12 módulos no total:

  • um módulo central
  • um módulo compartilhado
  • 4 módulos de recursos (com algum aninhamento)
  • 1 módulo de aplicativo raiz
  • 5 módulos de roteamento (correspondentes aos 4 módulos de recursos e módulo de aplicativo de raiz única)

Vou dar uma olhada e brincar quando tiver a chance de ver se consigo descobrir em que ponto isso é reproduzido.

Acho que isso pode estar relacionado a # 36

Ainda estou tendo o mesmo problema com a versão mais recente.

Consegui restringir um cenário que causa o bug.
Em uma solução simples criada com o último angular-cli, tenho a seguinte estrutura

  • Um AppModule raiz

    • Um AppComponent

  • Um CoreModule.

    • Um NavComponent

    • Um HomeComponent

    • Um AuthService

Quando incluo o AuthSevice na matriz de provedores do CoreModule e importo o CoreModule para o AppModule, recebo os seguintes erros.
coremodule

navcomp
O mesmo erro ocorre com o HomeComponent também.

appcomponent

Se eu comentar o AuthService da matriz de provedores no CoreModule, os erros desaparecem.
O aplicativo funciona bem.

Eu carreguei o exemplo para este repositório .

Espero que isso ajude a rastrear o problema.

Rastreado como https://github.com/angular/angular/issues/14631.

Este bug será fechado quando a correção para as terras acima e uma nova versão de ngls.visx for produzida que o inclua.

Isso foi corrigido em 0.1.0

Ainda tem o mesmo problema, versão 0.1.3

Acabei de instalar o 0.1.3 para verificar este plugin. Obtendo o mesmo erro em um projeto que está funcionando bem.

Também está identificando

@veldirre Você pode criar um problema separado e anexar uma maneira de reproduzir o problema que está tendo? Este problema foi corrigido. Você provavelmente está enfrentando um problema diferente que parece semelhante.

@jshea Não tenho certeza se entendi seu problema. Você pode abrir um fascículo separado e anexar um projeto que reproduza o problema?

@chuckjaz Existe algum método de depuração para investigar isso _quando ocorre_? Nenhum dos meus componentes não-rota é reconhecido como incluído na declaração do módulo, mas reduzir nosso aplicativo de produção a um exemplo mínimo seria muito demorado (e até agora todas as versões de brinquedo que tentei rodar não exibiu o problema).

Vou continuar tentando fazer uma pequena reprodução, mas se houver alguma outra abordagem ajudaria muito.

Deixa pra lá. Eu tropecei no problema um pouco depois de postar: # 80.

@tdsmithATabc A causa inicial do problema original deste tópico foi corrigida na versão mais recente 0.1.3.

No entanto, percebi que ainda estava recebendo o mesmo erro ocasionalmente para alguns componentes. Depois de investigar um pouco, percebi que os erros restantes estavam sendo causados ​​por outro problema separado nº 72.

Alterar as referências de quaisquer serviços, etc ... nos componentes ofensivos para caminhos relativos (em oposição aos caminhos relativos ao local baseUrl fornecido por tsconfig - a pasta "src /" por padrão) parece agir como uma solução alternativa para os componentes ofensivos. Não tenho certeza se este é o mesmo problema que você tem, mas pensei em mencioná-lo aqui.

Ah, acabei de receber sua última mensagem, deixa pra lá.

Obrigado pela dica de qualquer maneira! Eu também tive algumas dificuldades de caminho, mas isso foi porque nossa configuração estava usando caminhos _project-relative_, que são bons para o desenvolvimento, mas terríveis para quase todo o resto ...

Atualizar o Angular Language Service de 0.1.2 para 0.1.3 corrigiu o problema para mim. Obrigado!

Estou usando o Angular Language Service 0.1.3 e ainda estou tendo o mesmo problema.

Alguma notícia sobre isso?
Ainda tendo o problema com 0.1.4

Eu estava tendo o mesmo problema

O componente 'xxxComponent' não está incluído em um módulo e não estará disponível em um modelo. Considere adicioná-lo a uma declaração NgModule

e enquanto eu estava pesquisando e lendo alguns tópicos de praticamente o mesmo problema, o erro de repente (após cerca de 15 minutos) desapareceu, acho que é mais um problema de tempo quando você altera / adiciona componentes

Ainda tendo o problema com 0.1.7

Encontrando isso em 0.1.9.

Reproduzível iniciando um novo projeto iônico com o modelo de tutorial e criando uma nova página que requer que a nova classe de página seja declarada no arquivo app.module.ts.

Eu consigo fazer isso desaparecer apenas reabrindo o projeto de forma não o fim do mundo, mas inconveniente.

Tenho este problema em 0.1.9 com diretivas

Posso confirmar o mesmo comportamento que @ josh-strickland-4c
Aqui estão as informações do VSCode:
Versão 1.19.3
Commit 7c4205b5c6e52a53b81c69d2b2dc8a627abaa0ba
Data 25/01/2018T10: 36: 34.867Z
Shell 1.7.9
Renderer 58.0.3029.110
Nó 7.9.0
Arquitetura x64

Posso relatar esse problema com a versão 0.1.9 com componentes.

eu tenho o mesmo erro. b / c primeiro fiz um componente usando "ng gc post", depois criei outra pasta dentro do post e empurrei todos os arquivos criados antes e renomeei todos os arquivos, postar para pós-criar. então eu recebi o mesmo erro .. mesmo houve um erro dito pelo código do VS, meu console do Chrome não diz nada. e funciona.
1

bump, mesmo problema no 0.1.9 ao usar módulos de carregamento lento. Se forem necessários detalhes, lmk.

Ainda é um problema com 2018.2 em um projeto de biblioteca (criado com o angular cli).

O mesmo para mim no Projeto Webstorm!

O mesmo problema com o WebStorm.
image
Angular Cli 6.2.3
Angular 6.1.9

Este problema foi bloqueado automaticamente devido à inatividade.
Registre um novo problema se você estiver encontrando um problema semelhante ou relacionado.

Leia mais sobre nossa política de bloqueio automático de conversas .

_Esta ação foi executada automaticamente por um bot._

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mafredri picture mafredri  ·  5Comentários

JoannaFalkowska picture JoannaFalkowska  ·  3Comentários

fxck picture fxck  ·  6Comentários

mhamri picture mhamri  ·  4Comentários

frederikschubert picture frederikschubert  ·  3Comentários