错误:找不到模块'app / MyComponent / MyComponent.module'错误:找不到模块

时间:2018-07-22 20:29:45

标签: angular webpack

这与提到的here非常相似,但是注释或答案中提供的每种解决方案都无法解决我的问题。想看看我还有什么需要看的。我尝试了类似的路径

  • ./ app / mycomponent / mycomponent.module#MyComponentModule,
  • .mycomponent // mycomponent.module#MyComponentModule

但没有任何效果。我的问题和原始问题之间的最大区别是,我们最近添加了webpack,那时应用程序崩溃了。当我们不使用任何捆绑服务(webpack)并且所有都是单独的文件时,一切都很好。 另外,我的home.module(即主页)没有此问题。每个其他页面或模块都会引发完全相同的问题。就实现而言,home模块和其他模块之间实际上没有太大区别。

我的路由模块拥有

{
    path: 'mycomponent',
    loadChildren: 'app/mycomponent/mycomponent.module#MyComponentModule'
}

以下完全例外

  

bootstrap:51错误错误:未捕获(承诺):错误:找不到   模块'app / mycomponent / mycomponent.module'错误:找不到模块   'app / mycomponent / mycomponent.module'       在browser.es5.js:91       在ZoneDelegate.invoke(zone.js:392)       在Object.onInvoke(animations.es5.js:7)       在ZoneDelegate.invoke(zone.js:391)       在Zone.run(zone.js:142)       在zone.js:873       在ZoneDelegate.invokeTask(zone.js:425)       在Object.onInvokeTask(animations.es5.js:7)       在ZoneDelegate.invokeTask(zone.js:424)       在Zone.runTask(zone.js:192)       在browser.es5.js:91       在ZoneDelegate.invoke(zone.js:392)       在Object.onInvoke(animations.es5.js:7)       在ZoneDelegate.invoke(zone.js:391)       在Zone.run(zone.js:142)       在zone.js:873       在ZoneDelegate.invokeTask(zone.js:425)       在Object.onInvokeTask(animations.es5.js:7)       在ZoneDelegate.invokeTask(zone.js:424)       在Zone.runTask(zone.js:192)       在resolvePromise(zone.js:824)       在resolvePromise(zone.js:795)       在zone.js:873       在ZoneDelegate.invokeTask(zone.js:425)       在Object.onInvokeTask(animations.es5.js:7)       在ZoneDelegate.invokeTask(zone.js:424)       在Zone.runTask(zone.js:192)       在排水微任务队列(zone.js:602)

下面是我的webpack配置

const path = require('path');

module.exports = {   entry: './src/main.ts',  
devtool: 'source-map',  
module: {
    rules: [
      {
        test: /\.tsx?$/,
        loaders: ['ts-loader'],
        exclude: [/\.(spec|e2e)\.ts$/]
      },
      {
        test: /\.(html|css)$/, 
        loader: 'raw-loader',
        exclude: /\.async\.(html|css)$/
      }
    ]   },   
 resolve: {
    extensions: [ '.tsx', '.ts', '.js' ]   },   
 output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')    } };
  • 角度:4.3.6
  • 打字稿:2.9.2

2 个答案:

答案 0 :(得分:2)

对于来这里的其他任何人..我无法弄清楚路径的问题..我的队友在路由模块中使其正常工作..我们更改为

import { MyComponentModule } from './myComponentModule/MyComponent.module';

然后在加载中调用该类名

{
    path: 'myComponent',
    loadChildren: ()=> MyComponentModule
},

虽然这行得通,但我不知道为什么即使我给出了完全相同的路径,旧的也不起作用。

答案 1 :(得分:1)

您可以使用路由模块所在的相对路径:

user = SignUp.objects.filter(username=user_request.get("username"))

看来Angular 6更改了要求,因此user = SignUp.objects.filter(username=user_request.get("username"), password=user_request.get("password")) if user: return login(request, user) 必须始终是相对的。我在将应用程序迁移到较新版本时遇到了这个问题。

在此处查看此更改:

https://github.com/angular/angular/commit/f44a2c730a84cd86695d1851395ad28423704bd0

更新的文档现在说“相对”。