Vscode-ng-language-service: A configuração de caminhos em tsconfig.json causa problemas

Criado em 13 out. 2017  ·  21Comentários  ·  Fonte: angular/vscode-ng-language-service

Tenho TSLint (5.7.0), codelyzer (3.2.1) e serviço de idioma angular 0.1.7 instalados no vscode 1.17.0 (windows)

No meu projeto de cli angular (1.4.5)

Se eu tiver a seguinte configuração em tsconfig

"paths": {
  "@app/*": ["app/*"],
  "@env/*": ["environments/*"]
},

e minha importação seria como
importar {SharedModule} de '@ app / shared / shared.module';

Eu terei muitos erros como este em meu modelo mostrando em vscode com sublinhados vermelhos.

[Angular] Associação de propriedade ngIf não usada por nenhuma diretiva em um modelo incorporado. Certifique-se de que o nome da propriedade está escrito corretamente e todas as diretivas estão listadas em "@ NgModule.declarations".

Mas se eu importar com caminho relativo

importar {SharedModule} de '../../shared/shared.module';

O problema vai embora.

a princípio, pensei que fosse vscode-tslint https://github.com/Microsoft/vscode-tslint/issues/276#event -1292520818

Mas parece que é do Angular Language Service

bug

Comentários muito úteis

Aqui eu tenho o mesmo problema.

Todos 21 comentários

Aqui eu tenho o mesmo problema.

Eu tenho o mesmo problema

  • vscode mostra erro ao usar o alias do caminho
  • vs código mostra erro ao usar * ngIf ... no modelo

@maxisam Você poderia escrever aqui como sua estrutura de código se parece? Especialmente onde app.module.ts e shared.module.ts estão localizados. Você usa barels (index.ts)?

Eu gostaria de mencionar que se você usar "paths" em seu tsconfig, você deve especificar "baseUrl". (de acordo com esta resposta stackoverflow )

raiz
| --src
| --app
| --compartilhe

Eu não uso barris. É um layout CLI normal. O projeto é gerado pelo cli.

Possui configuração de caminhos.

Mesmo problema aqui, o parâmetro baseUrl já está definido com "src" e ainda não funciona.

Esta configuração resolveu o problema para mim:

"baseUrl": "./",
"paths": {
  "@app/*": ["app/*"],
  "@env/*": ["environments/*"],
  "@services/*": ["app/modules/core/services/*"],
  "@models/*": ["app/models/*"],      
  "@components/*": ["app/components/*"],
  "@modules/*": ["app/modules/*"],
  "@core/*": ["app/modules/core/*"],
  "@shared/*": ["app/modules/shared/*"],
  "@features/*": ["app/modules/features/*"]
}

Estou usando o Angular-CLI e também tenho esse problema ao usar uma biblioteca de componentes externos (da qual sou o autor). Eu tentei mudar o tsconfig.app.json com a configuração mencionada, mas isso não mudou nada do meu lado. Existe alguma outra solução alternativa? E / ou tenho que fazer algum tipo de mudança na minha biblioteca?

Obrigado @aitboudad, mas isso não funcionou para mim. Finalmente tirei um tempo para atualizar meu aplicativo para Angular 5 e atualizei como você sugeriu naquela outra edição para "@angular/language-service": "5.1.0-beta.1" mas ainda recebo este erro. Ele vem de uma biblioteca que criei chamada Angular-Slickgrid e no meu ambiente Dev usando caminhos relativos ./ Não vejo esse problema, mas usando a lib em um aplicativo externo como import ... from 'angular-slickgrid' e mude para a minha visualização completamente, ele ficará completamente vermelho como mostrado abaixo.

Você pode ver o erro sendo

[Angular] Cannot read property 'isSkipSelf' of null

cannotskipitself

@ghiscoding após instalar @angular/language-service você deve reiniciar o vscode

@aitboudad Sim, também fiz isso, mas ainda assim recebi o erro.

Isso também não está funcionando para mim, mesmo depois de instalar @ angular / language-service

Eu também posso relatar o mesmo problema. Isso só ocorre no VS Code com a extensão de serviço de idioma. O WebStorm não tem problemas com isso por padrão e resolve tudo.
Veja também: https://github.com/angular/angular/issues/16382 e https://github.com/nrwl/nx/issues/73.

alguma atualização sobre isso?

Olá, pensei que fosse o único.

Estou trabalhando em um Angular Mono Repo, e isso começou a acontecer comigo há pouco.

Esperamos que seja corrigido em breve! Obrigado rapazes!

@chuckjaz alguma ideia?

https://github.com/angular/angular/issues/16382 corrigiu isso e foi lançado como Angular.ng-template 0.1.9. @fxck Você pode verificar se está executando a versão mais recente?

@kyliau
Não vejo mais o problema do meu lado, então posso confirmar que ele funciona para mim agora. obrigado

Fechando isso por enquanto, pois o problema foi corrigido.

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