如何在现有nodejs应用程序中仅在特定页面中使用angular 2
我有一个大型web应用程序,它已经使用Nodejs开发。 我正在使用angular 2向应用程序添加功能,并在现有的ejs页面中使用这些功能 一个这样的例子是如何在现有nodejs应用程序中仅在特定页面中使用angular 2,angular,Angular,我有一个大型web应用程序,它已经使用Nodejs开发。 我正在使用angular 2向应用程序添加功能,并在现有的ejs页面中使用这些功能 一个这样的例子是。 当我加载包含angular2组件的页面时,我不会得到任何错误,但应用程序的其余部分在控制台中抛出错误,但很早就可以正常工作 我在控制台中得到的错误如下所示 选择器“project details”与任何元素都不匹配 最好的做法是只在需要的页面中包含angular2模块,并避免从其他页面获取此错误 我使用angular2最新版本的网页包
。
当我加载包含angular2组件的页面时,我不会得到任何错误,但应用程序的其余部分在控制台中抛出错误,但很早就可以正常工作
我在控制台中得到的错误如下所示
选择器“project details”与任何元素都不匹配
最好的做法是只在需要的页面中包含angular2模块,并避免从其他页面获取此错误
我使用angular2最新版本的网页包
更新1:
所有组件都正确呈现,在我需要包含它们的页面上工作良好。
我只想在不需要角度组件的页面上消除这个错误,即:没有
main.ts:
import "core-js";
import "reflect-metadata";
import "zone.js/dist/zone"
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { ProjectModule } from './project/project.module';
platformBrowserDynamic().bootstrapModule(ProjectModule);
project.module.ts:
// core
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from '@angular/http';
import { ProjectComponent } from './project.component';
import { ProjectService } from './project.service';
@NgModule({
imports: [
CommonModule,
BrowserModule,
HttpModule,
FormsModule
],
declarations: [
ProjectComponent
],
bootstrap: [
ProjectComponent
],
providers : [
ProjectService
]
})
export class ProjectModule { }
project.component.ts:
import { Component } from '@angular/core';
import { Project } from './project.model';
import { ProjectService } from './project.service';
@Component({
selector: 'project-details',
templateUrl: '/app/project.component.html'
})
export class ProjectComponent {
constructor(private projectService: ProjectService){
}
}
footer.ejs:
<script src="/app/dist/bundle.js"></script>
注意:此设置已正常运行,没有任何问题。
我只想在我不需要角度组件的页面上消除这个错误,即:没有
的页面和有其他角度组件的页面 您的错误意味着没有带有选择器的组件项目详细信息
可能的原因
import{ CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
@NgModule({
declarations: [ ... ],
exports: [ ... ],
imports: [ ... ],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
})
您的错误意味着没有具有选择器项目详细信息的组件 可能的原因
import{ CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
@NgModule({
declarations: [ ... ],
exports: [ ... ],
imports: [ ... ],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
})
对于angular2,所有组件(包括页面和自定义标记)和过滤器(管道)都在app.module.ts中定义
@NgModule({
declarations: [
AppComponent,
ProjectDetails,
SomeFilter,SomeComponent,
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [HttpModule, Core],
bootstrap: [AppComponent]
})
如果您有一个组件项目详细信息
,它将成为页面的一部分,那么它的ts类必须添加到@NgModule
声明中
关于project details
ts文件本身project details.component.ts
,它必须将选择器定义为注释
比如说
@Component({
selector: 'project-details',
templateUrl: 'project-details.component.html',
styleUrls: ['project-details.component.css'],
})
export class PRojectDetails {
...
}
对于angular2,所有组件(包括页面和自定义标记)和过滤器(管道)都在app.module.ts中定义
@NgModule({
declarations: [
AppComponent,
ProjectDetails,
SomeFilter,SomeComponent,
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [HttpModule, Core],
bootstrap: [AppComponent]
})
如果您有一个组件项目详细信息
,它将成为页面的一部分,那么它的ts类必须添加到@NgModule
声明中
关于project details
ts文件本身project details.component.ts
,它必须将选择器定义为注释
比如说
@Component({
selector: 'project-details',
templateUrl: 'project-details.component.html',
styleUrls: ['project-details.component.css'],
})
export class PRojectDetails {
...
}
编辑:所有组件都正确呈现,在我需要包含它们的页面上工作良好。我只想在我不需要角组件的页面上消除这个错误,例如:没有感谢的页面,我从你的答案列表中找到了一些相关的有用的答案。@sith请在相应的帖子中提及。很高兴帮助您编辑:所有组件都正确呈现,在我需要包含它们的页面上工作良好。我只想在我不需要角组件的页面上消除这个错误,例如:没有感谢的页面,我从你的答案列表中找到了一些相关的有用的答案。@sith请在相应的帖子中提及。很高兴能帮助你我有准确的设置。编辑:所有组件都正确呈现,在我需要包含它们的页面上工作良好。我只想在我不需要角度组件的页面上消除这个错误,例如:没有标记的页面我有精确的设置。编辑:所有组件都正确呈现,在我需要包含它们的页面上工作良好。我只想在我不需要角度组件的页面上消除这个错误,例如:没有标记的页面请分享我们可以查看代码的最小工作示例。您在哪里声明这个组件?您似乎没有在应用程序的某个模块中正确声明它。你有不止一个模块吗?我声明正确,工作正常。如何从我实际上不需要角度组件的页面中删除“选择器”项目详细信息“不匹配任何元素”。如何处理ProjectComponent\u Host
?HTML是否在不同组件之间共享?请共享我们可以查看的最小工作示例代码。您在哪里声明此组件?您似乎没有在应用程序的某个模块中正确声明它。你有不止一个模块吗?我声明正确,工作正常。如何从我实际上不需要角度组件的页面中删除“选择器”项目详细信息“不匹配任何元素”。如何处理ProjectComponent\u Host
?HTML是否在不同组件之间共享?。