【发布时间】:2018-12-30 07:52:13
【问题描述】:
这与提到的here 非常相似,但是 cmets 或答案中提供的每个解决方案都没有解决我的问题。想看看还有什么我应该看的。我尝试了不同的路径,例如
- ./app/mycomponent/mycomponent.module#MyComponentModule,
- .mycomponent//mycomponent.module#MyComponentModule
但没有任何效果。我的问题和原始问题之间的最大区别是,我们最近添加了 webpack,那是应用程序崩溃的时候。当我们不使用任何捆绑服务(webpack)并且一切都是单独的文件时,一切都很好。 我的主页 home.module 也没有这个问题。其他所有页面或模块都会抛出完全相同的问题。在实现方面,家庭和其他模块之间实际上并没有太大区别。
我的路由模块有这个
{
path: 'mycomponent',
loadChildren: 'app/mycomponent/mycomponent.module#MyComponentModule'
}
下面的完全异常
bootstrap:51 ERROR 错误:未捕获(承诺中):错误:找不到 模块'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) 在 drainMicroTaskQueue (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
【问题讨论】:
-
你可以试试这个 loadChildren: 'src/app/mycomponent/mycomponent.module#MyComponentModule'
-
@MuhammedAlbarmawi 是的。试过了..没用..我尝试了所有不同的变体:(
-
您能否确认 WebPack 正在按预期创建捆绑包。我认为它会为每个惰性模块创建编号的包,所以在你的 dist 文件夹中寻找类似 @987654324@ 的东西。
-
我们打包确实是在创建包,但它只是 bundles.js 而不是单独的块。在 bundles.js 中,我可以看到我的组件及其标记。