【问题标题】:Angular 10: Cannot find name when trying to import moduleAngular 10:尝试导入模块时找不到名称
【发布时间】:2020-11-18 08:48:52
【问题描述】:

我使用 CLI 在该项目中创建了一个新的 Angular 项目和一个新模块。如果我尝试在app.module.ts 中导入新创建的模块,Intellisense 将不起作用,并且找不到自动导入它的模块。我没有更改 tsconfig.json 文件中的任何内容。

  • Angular CLI:10.0.4
  • 节点:12.16.3
  • 角度:10.0.5
  • 打字稿:3.9.7
  • VS 代码:1.47.3

知道是什么原因造成的吗?

编辑:手动导入工作正常,但我问的是自动导入功能。

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';



@NgModule({
  declarations: [],
  imports: [
    CommonModule
  ]
})
export class TestModule { }

【问题讨论】:

  • 你试过 import {TestModule} from './test/test.module'; ?
  • @pbachman 是的,手动导入是可以的,并且可以识别类。但自动导入不起作用。
  • @pbachman 似乎自动导入扩展工作正常,除了它在文件顶部导入模块这一事实。 marketplace.visualstudio.com/items?itemName=steoates.autoimport
  • @pbachman 问题是 VS Code 内置了自动导入功能。我认为没有理由使用该扩展,如果有的话,我想找出问题的根本原因.无论如何,谢谢你的建议!

标签: angular typescript visual-studio-code


【解决方案1】:

尝试像这样在 Testmodule 中导出子组件

 @NgModule({
      declarations: [],
      imports: [CommonModule],
      exports: [components]
    })
export class TestModule { }

【讨论】:

  • 模块中没有组件,所以你的答案不适用:)
【解决方案2】:

我在项目根文件夹内的tsconfig.json 中找到了问题的根源。

{
  "files": [],
  "references": [
    {
      "path": "./tsconfig.app.json"
    },
    {
      "path": "./tsconfig.spec.json"
    }
]
}

如果你只是把它改成这个

{
  "extends": "./tsconfig.base.json"
}

VS Code 自动导入开始工作

据我了解,主要问题是“文件”:[],打字稿停止查看项目中未包含的所有文件。

github.com/microsoft/TypeScript/issues/39632
https://github.com/angular/vscode-ng-language-service/issues/876
人们提供相同的解决方案

【讨论】:

  • 更新:Angular 10.1.3 不再需要修复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-28
  • 1970-01-01
  • 1970-01-01
  • 2020-01-29
  • 1970-01-01
相关资源
最近更新 更多