You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 2中调用Shared文件夹文件报错:无法找到模块 '../shared/activities'

我来帮你捋捋这个问题,看起来是路由导航时找不到对应的组件模块,咱们一步步排查解决:

排查步骤与解决方案

1. 修正路由配置的组件导入路径

你遇到的Cannot find module '../shared/activities'错误,大概率是组件导入路径写错了。根据你的文件夹结构,Shared是在User文件夹内部的,而../会让代码跳出User目录去寻找根目录下的Shared,这显然不对。

如果你的路由模块(比如user-routing.module.ts)放在User文件夹下,正确的导入路径应该是指向User内部的Shared文件夹:

// 示例:路由模块在User目录下时的正确导入
import { ActivitiesComponent } from './shared/activities/activities.component';

同时要确保路由配置里的路径和组件对应:

const routes: Routes = [
  // ...其他路由规则
  { path: 'auditlog', component: ActivitiesComponent }
];

2. 确认组件已在模块中正确声明/导出

如果Activities组件属于Shared模块,你需要保证它被正确注册:

  • 若你有SharedModule,要在模块的declarations里添加该组件,并且在exports中导出,这样UserModule才能复用它:
    @NgModule({
      declarations: [ActivitiesComponent],
      exports: [ActivitiesComponent]
    })
    export class SharedModule { }
    
    之后别忘了在UserModule里导入SharedModule。
  • 若没有单独的SharedModule,直接把ActivitiesComponent添加到UserModule的declarations数组里即可。

3. 检查组件文件的完整性

确认activities文件夹下存在完整的组件文件:
比如必须有activities.component.ts,且文件内正确关联了HTML和CSS:

import { Component } from '@angular/core';

@Component({
  selector: 'app-activities',
  templateUrl: './activities.component.html', // 路径指向同目录的HTML
  styleUrls: ['./activities.component.css']   // 路径指向同目录的CSS
})
export class ActivitiesComponent { }

4. 核对routerLink与路由路径

你的HTML里用的是routerLink="/auditlog",要确保路由配置里的path确实是'auditlog',没有拼写错误。如果是子路由场景,可能需要调整路径格式(比如'user/auditlog'),但当前错误的核心还是模块找不到,优先处理前面的步骤。

内容的提问来源于stack exchange,提问作者Bhrungarajni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:20:35