我一直在研究一些种子项目,所有组件似乎都有一个index.ts,它从该组件中导出*.我无法找到它实际用于的任何地方?
例如https://github.com/mgechev/angular2-seed/tree/master/src/client/app/%2Bhome
谢谢
我今天开始从Angular 4.4.4升级到5.1.1.我不得不升级一些依赖于角度的其他软件包.我得到一个错误,上下文很少,我不知道从哪里开始.有没有其他人看过这个并知道问题是什么?
$ ng serve --aot=false
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
Date: 2017-12-19T15:26:36.137Z
Hash: bf0b773d5dfafdd9133b
Time: 16934ms
chunk {inline} inline.bundle.js (inline) 5.79 kB [entry] [rendered]
chunk {main} main.bundle.js (main) 2.93 kB [initial] [rendered]
chunk {polyfills} polyfills.bundle.js (polyfills) 636 bytes [initial] [rendered]
chunk {scripts} scripts.bundle.js (scripts) 307 kB [initial] [rendered]
chunk {styles} styles.bundle.js (styles) 4.03 MB [initial] [rendered]
chunk {vendor} vendor.bundle.js (vendor) 855 kB [initial] [rendered]
ERROR in TypeError: Cannot read …Run Code Online (Sandbox Code Playgroud) 我正在将我的应用程序从angular2 RC5与angular-webpack脚手架迁移到角度2 2.0.0,角度为cli beta 14.
我正在与这些错误作斗争:
未捕获错误:无法解析PublicInfoDao的所有参数:(?,?).CompileMetadataResolver.getDependenciesMetadata @ metadata_resolver.js:508CompileMetadataResolver.getTypeMetadata @ metadata_resolver.js:405(匿名函数)@ metadata_resolver.js:552CompileMetadataResolver.getProvidersMetadata @ metadata_resolver. JS:532CompileMetadataResolver.getNgModuleMetadata @ metadata_resolver.js:285RuntimeCompiler._compileComponents @ runtime_compiler.js:126RuntimeCompiler._compileModuleAndComponents @ runtime_compiler.js:64RuntimeCompiler.compileModuleAsync @ runtime_compiler.js:55PlatformRef _._ bootstrapModuleWithZone @ application_ref.js:303PlatformRef_.bootstrapModule @ application_ref.js: 285(匿名函数)@main.ts:13__webpack_require__ @ bootstrap db3609d ...:52(匿名函数)@.*$:7__webpack_require__ @ bootstrap db3609d ...:52webpackJsonpCallback @ bootstrap db3609d ...:23(匿名函数)@main.bundle.js: 1
和
metadata_resolver.js:278Uncaught错误:模块'AppModule'(匿名函数)@ metadata_resolver.js声明的意外值'AppComponent':278CompileMetadataResolver.getNgModuleMetadata @ metadata_resolver.js:265RuntimeCompiler._compileComponents @ runtime_compiler.js:126RuntimeCompiler._compileModuleAndComponents @ runtime_compiler. js:64RuntimeCompiler.compileModuleAsync @ runtime_compiler.js:55PlatformRef _._ bootstrapModuleWithZone @ application_ref.js:303PlatformRef_.bootstrapModule @ application_ref.js:285(匿名函数)@main.ts:13__webpack_require__ @ bootstrap db3609d ...:52(匿名函数)@.*$:7__webpack_require__ @ bootstrap db3609d ...:52webpackJsonpCallback @ bootstrap db3609d ...:23(匿名函数)@main.bundle.js:1 1:https: //github.com/preboot/angular2-webpack …
每次我在共享文件夹中生成内容时,都会重建index.ts文件,并按字母顺序放置导出.这似乎打破了我的依赖.手动更改顺序,以便在具有依赖项的类之前导出依赖项使其再次起作用.
如果我们有app/shared/auth.guard.ts:
import { Injectable } from '@angular/core';
import { CanActivate, Router, ActivatedRouteSnapshot } from '@angular/router';
import { Observable } from 'rxjs/Observable';
import { AuthService, User } from './';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private accountService: AuthService, private router: Router) { }
canActivate(next: ActivatedRouteSnapshot): Observable<boolean> {
let result = this.accountService.currentUser.first().map(user => user != null);
let route: any[] = ['/login'];
if (next.url.length) {
route.push({ redirectUrl: next.url });
}
result.subscribe(isLoggedIn => {
if (!isLoggedIn) {
this.router.navigate(route);
}
}); …Run Code Online (Sandbox Code Playgroud) 我开始使用Angular2应用程序,自从几天起我就遇到了问题!
Can't resolve all parameters for HomeComponent: (?).(…)
Run Code Online (Sandbox Code Playgroud)
但我的问题不是特定的提供者:我尝试在HomeComponent构造函数中注入的每一个都返回该错误.没有关于错误的类似问题解决了我的情况,现在我花了很多时间寻找这个,我找不到它.
App.moodule.ts:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule } from '@angular/router';
import { SimpleNotificationsModule } from 'angular2-notifications';
// Controllers
import { AppComponent } from './app.component';
import { HomeComponent } from './components/home.component';
// Service
import { AuthService } from './services/auth.service';
// Guards
import { AuthGuard } from './guards/auth.guard';
@NgModule({
imports: [
BrowserModule,
RouterModule.forRoot([
{
path: '',
component: HomeComponent,
canActivate: [AuthGuard]
}
]),
SimpleNotificationsModule
], …Run Code Online (Sandbox Code Playgroud) 在我的图书馆中,我有一个带有以下代码的服务:
import { Inject, Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { DataInjectorModule } from '../../data-injector.module';
// @dynamic
@Injectable()
export class RemoteDataService<T> {
@Inject('env') private environment: any = {};
public type: new () => T;
constructor(
model: T,
) {
this.http = DataInjectorModule.InjectorInstance.get(HttpClient);
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
(现有原因data-injector.module只是避免循环依赖):
import { NgModule, Injector } from '@angular/core';
// @dynamic
@NgModule({
declarations: [],
imports: [],
providers: [],
exports: [],
})
export class DataInjectorModule {
static InjectorInstance: Injector; …Run Code Online (Sandbox Code Playgroud) 我一直在尝试将我的应用程序切换到AoT编译,并在应用程序加载时在生产环境中收到此错误(它在本地工作正常).
Error: Can't resolve all parameters for IconService: (?, ?)
似乎错误来自提供IconService的模块.图标服务构造函数看起来像
constructor(private http:Http, private iconConfiguror:IconConfiguror) {
所以我的问题是这个错误是什么意思,为什么它只会在prod环境中发生(我尝试在本地启用prod模式)?
现在看来似乎意味着,不设置http和图标的配置参数,但在应用程序模块水平设置的图标配置和HttpModule在所述进口IconModule,其中IconService被提供.
@NgModule({
imports: [
CommonModule,
HttpModule,
],
declarations: [
IconComponent,
],
exports: [
IconComponent,
],
providers: [
IconService,
__platform_browser_private__.BROWSER_SANITIZATION_PROVIDERS,
],
})
Run Code Online (Sandbox Code Playgroud)
和我们的图标组件的桶.
export * from "./components/icon/icon.configuror";
export * from "./components/icon/icon.service.provider";
export * from "./components/icon/icon.service";
export * from "./components/icon/icon.component";
export * from "./components/icon/icon.module";
Run Code Online (Sandbox Code Playgroud) 我的应用程序中的一项服务存在问题。问题是,无论在何处注入此服务,我都会收到以下错误:
Uncaught (in promise): Error: Can't resolve all parameters for TestComponent: ([object Object], ?, [object Object])
Run Code Online (Sandbox Code Playgroud)
我知道这个问题可能是由于使用桶引起的,但是我没有将桶用于服务,而是“直接”引用文件,例如:../../core/services/config.service。
正如这个答案@Inject(forwardRef(...))中所建议的,我尝试在注入该服务的任何地方使用。我唯一的例外是AppComponent在这种情况下我“正常”注入相同的服务并且没有收到错误:
export class AppComponent implements OnInit {
constructor(
private configService: ConfigService, // NO ERROR
private router: Router
) { }
...
}
Run Code Online (Sandbox Code Playgroud)
在所有其他地方,如果我不执行以下操作,我会收到上述错误:
export class BuyButtonComponent {
constructor(
@Inject(forwardRef(() => ConfigService)) private configService: ConfigService,
// private configService: ConfigService // DOES NOT WORK
) { }
...
}
Run Code Online (Sandbox Code Playgroud)
据我了解,forwardRef()当要注入依赖项但尚未定义时使用。是ConfigService从CoreModule中导入的提供的AppModule。这些组件位于我拥有的a …
在构造函数中添加表单构建器时。我一直收到错误。我已经在 app.module 中添加了 ReactiveFormsModule 。
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
@Component({
selector: 'app',
template: require('./app.component.pug'),
styles: [require('./app.component.scss')]
})
export class AppComponent {
private loginForm: FormGroup;
constructor(private fb: FormBuilder) {}
}
Run Code Online (Sandbox Code Playgroud)
示例 app.module.ts
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({
imports: [BrowserModule, ReactiveFormsModule],
declarations: [AppComponent],
providers: [],
bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)
这是错误:
我已经创建了angular 7应用程序,现在我正尝试向它添加angular通用程序。因此,我遵循了以下步骤:
https://angular.io/guide/universal
在终端中输入以下内容:
ng add @nguniversal/express-engine --clientProject resume-app
Run Code Online (Sandbox Code Playgroud)
然后我这样写:
npm run build:ssr && npm run serve:ssr
Run Code Online (Sandbox Code Playgroud)
它不起作用,终端返回了很多错误:
错误:无法解析/Users/tomaszzmudzinski/Documents/Projects/Resume/resume-app/src/app/components/home/home.component.ts中的HomeComponent的所有参数:(?,?)。src / app / components / home / home.component.ts(2,24):错误TS2307:找不到模块“ src / app / models / Resume”。src / app / components / home / home.component.ts(3,31):错误TS2307:找不到模块“ src / app / services / resume.service”。src / app / components / home / home.component.ts(4,44):错误TS2307:找不到模块“ src / app / models / GetBasicStatisticsResponse”。src / app / components / home / home.component.ts(5,35):错误TS2307:找不到模块“ src / app / services / statistics.service”。src / …
angular ×10
angular-cli ×2
typescript ×2
angular10 ×1
angular7 ×1
components ×1
injectable ×1
javascript ×1