我正在尝试构建我的第一个用于生产的Angular 6应用程序,并且构建大小约为1 MB.
由于缺乏经验,我很难估计它应该是多大,但对于相对较小的应用来说,1 MB似乎很大.
如何检查这样的问题?
问题:
我有一个拦截器:
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor(private injector: Injector, private router: Router) {
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const auth = this.injector.get(AuthenticationService);
const authHeaders = auth.getAuthHeader();
const authReq = request.clone({headers: authHeaders});
return next.handle(authReq).do((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
}
}, (err: any) => {
if (err instanceof HttpErrorResponse) {
if (err.status === 403) {
this.router.navigate(['login']);
}
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
它在 Angular 5 中很旧,但现在我已经迁移到 6 并且这不再起作用了。
它说 Observable 类型上不存在属性“do”。
我也试图从这个线程实现解决方案:LINK 没有工作。 …
我正在尝试动态创建和显示组件,我需要将一些数据传递给它,以便它知道要显示什么。
这是我的代码:
html部分:
<div class="basicContainer">
<div class="projectsTreeContainer">
<input type="text" id="searchWord" placeholder="Search through projects"/>
<button (click)="loadAddProject()">Add new Project</button>
<app-projects-tree (onLoadProjectDetails)="loadProjectDetails($event)"
(onLoadWpDetails)="loadWpDetails($event)"
(onSelectAndLoadJobDetails)="loadJobDetails($event)"></app-projects-tree>
</div>
<div class="infoContainer">
<ng-container *ngComponentOutlet="details"></ng-container>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
成分:
export class ProjectsComponent implements OnInit {
details: Component;
private showWp: boolean;
constructor() {
}
loadProjectDetails(project: BasicProject): void {
this.details = new ProjectComponent(project);
}
Run Code Online (Sandbox Code Playgroud)
以及我想要动态创建和显示的组件:
export class ProjectComponent implements OnInit {
project: Project;
constructor(basicProject: BasicProject) {
this.project = new Project();
this.project.name = basicProject.name ;
}
Run Code Online (Sandbox Code Playgroud)
Ng 模块:
@NgModule({
declarations: [
AppComponent,
NavbarComponent, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用org.apache.poi进行xls/xlsx处理.(Springboot)
我得到一个例外:
Caused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/FileMagic
at org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipStream(ZipHelper.java:208)
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:98)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:324)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:295)
at ua.siemens.dbtool.service.impl.ExcelServiceImpl.getTemplate(ExcelServiceImpl.java:159)
at ua.siemens.dbtool.service.impl.ExcelServiceImpl.exportTimesheet(ExcelServiceImpl.java:69)
at ua.siemens.dbtool.controller.TimesheetController.exportTimesheet(TimesheetController.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
... 89 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.poi.poifs.filesystem.FileMagic
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 108 common frames omitted
Run Code Online (Sandbox Code Playgroud)
方法:
private XSSFWorkbook getTemplate() throws IOException, InvalidFormatException {
ClassLoader classLoader = …Run Code Online (Sandbox Code Playgroud)