选择器"ng-component"与任何元素错误都不匹配

Jeb*_*nce 12 webpack angular

错误:

EXCEPTION: Error in :0:0 caused by: The selector "ng-component" did not match any elements
Run Code Online (Sandbox Code Playgroud)

使用systemjs直接运行应用程序正常.当我试图建立globals.bundle.jsapp.bundle.js使用的WebPack和部署我得到这个错误.

所有文件和依赖项都可以正常加载.

这是我的HTML

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Maven + Spring MVC</title>
    <base href="/survey-web/">
<spring:url value="/resources/core/css/hello.css" var="coreCss" />
<spring:url value="/resources/core/css/bootstrap.min.css" var="bootstrapCss" />
<link href="${bootstrapCss}" rel="stylesheet" />
<link href="${coreCss}" rel="stylesheet" />
<%--<script src="resources/node_modules/zone.js/dist/zone.min.js"></script>
<script src="resources/node_modules/reflect-metadata/Reflect.js"></script>
<script src="resources/js/system.src.js"></script>
<script src="resources/systemjs.config.js"></script>--%>
    <script src="resources/dist/globals.bundle.js"></script>
    <script src="resources/dist/app.bundle.js"></script>

<script>
    //System.import('app').catch(function(err){ console.error(err); });
</script>
</head>
<body>
<router-outlet></router-outlet>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Webpack配置

module.exports = {
entry: {
    globals: [
        'zone.js',
        'reflect-metadata'
    ],
    app: './app/main.ts',
},
module: {
    loaders: [
        {test: /.ts$/, loader: 'awesome-typescript-loader'},
    ]
},
output: {
    filename: '[name].bundle.js',
    path: './dist'
}
};
Run Code Online (Sandbox Code Playgroud)

Plunkr

https://plnkr.co/edit/AfYGsdHpIVnVnuF7BCUJ?p=preview 虽然它只发生在我的本地环境中的webpack构建中,但我可以通过plnkr重现这一点

Jeb*_*nce 8

感谢@GünterZöchbauer@yurzui的支持

@yurzui现在我明白我需要一个引导程序组件或使用的选择器

<body>
    <ng-component></ng-component>
</body>
Run Code Online (Sandbox Code Playgroud)

代替

<body>
    <router-outlet></router-outlet>
</body>
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用systemjs并且不能使用plunkr或webpack,它会如何工作.


Alf*_*Moh 5

另一个说明,如果你Angular Cli用来创建你的应用程序并且你改变了你的根组件的选择器,比如从“ app-root”到“ root”,你将不得不转到主 html 页面index.html并更改 body 标签中的模板。如果没有,您将收到与上述类似的错误。那是从

<body> <app-root></app-root> </body>

<body> <root></root> </body>