Ionic3 Can';t解析TranslateService的所有参数:(?,?,,,,,,,,,,[对象]

Ionic3 Can';t解析TranslateService的所有参数:(?,?,,,,,,,,,,[对象],ionic3,ngx-translate,Ionic3,Ngx Translate,从昨天起,我无法在浏览器中测试我的ionic 3应用程序,因为我遇到以下与TranslateService相关的错误。这似乎与我的代码无关,因为当我切换到以前的版本时,我也面临同样的问题,尽管当时它工作正常。我尝试重新安装节点模块,但仍然没有成功。你知道吗知道我该怎么解决这个问题吗?谢谢 错误:未捕获(承诺中):错误:无法解决所有问题 TranslateService的参数:(?,?,?,,?,,?,[对象], [对象]。错误:无法解析的所有参数 TranslateService:(?,?,?,

从昨天起,我无法在浏览器中测试我的ionic 3应用程序,因为我遇到以下与TranslateService相关的错误。这似乎与我的代码无关,因为当我切换到以前的版本时,我也面临同样的问题,尽管当时它工作正常。我尝试重新安装节点模块,但仍然没有成功。你知道吗知道我该怎么解决这个问题吗?谢谢

错误:未捕获(承诺中):错误:无法解决所有问题 TranslateService的参数:(?,?,?,,?,,?,[对象], [对象]。错误:无法解析的所有参数 TranslateService:(?,?,?,?,,?,[对象对象],[对象对象])。 在syntaxError(compiler.js:466) 在CompileMetadataResolver.\u getDependenciesMetadata(compiler.js:15544) 在CompileMetadataResolver.\u getTypeMetadata(compiler.js:15379) 在CompileMetadataResolver.\u getInjectableMetadata(compiler.js:15359) 位于CompileMetadataResolver.getProviderMetadata(compiler.js:15719) 在compiler.js:15630 在Array.forEach()处 在CompileMetadataResolver.\u getProvidersMetadata(compiler.js:15590) 在compiler.js:15080 在Array.forEach()处 在syntaxError(compiler.js:466) 在CompileMetadataResolver.\u getDependenciesMetadata(compiler.js:15544) 在CompileMetadataResolver.\u getTypeMetadata(compiler.js:15379) 在CompileMetadataResolver.\u getInjectableMetadata(compiler.js:15359) 位于CompileMetadataResolver.getProviderMetadata(compiler.js:15719) 在compiler.js:15630 在Array.forEach()处 在CompileMetadataResolver.\u getProvidersMetadata(compiler.js:15590) 在compiler.js:15080 在Array.forEach()处 在c处(polyfills.js:3) 在c处(polyfills.js:3) 在polyfills.js:3 在t.invokeTask(polyfills.js:3) 位于Object.onInvokeTask(core.js:4617) 在t.invokeTask(polyfills.js:3) at r.runTask(polyfills.js:3) 在o处(polyfills.js:3)

从my package.json中,我可以看到:@ngx translate/core:“^9.1.1”和@ngx translate/http loader:“^2.0.1”

我的爱奥尼亚信息

全球方案:

cordova (Cordova CLI) : 8.0.0 
@ionic/app-scripts : 3.1.0
Cordova Platforms  : android 7.1.0 browser 5.0.3 ios 4.4.0
Ionic Framework    : ionic-angular 3.9.2
本地套餐:

cordova (Cordova CLI) : 8.0.0 
@ionic/app-scripts : 3.1.0
Cordova Platforms  : android 7.1.0 browser 5.0.3 ios 4.4.0
Ionic Framework    : ionic-angular 3.9.2
系统:

Android SDK Tools : 25.2.5
ios-deploy        : 1.9.2 
Node              : v6.10.0
npm               : 3.10.10 
OS                : macOS High Sierra
Xcode             : Xcode 9.3.1 Build version 9E501 
环境变量:

ANDROID_HOME : /usr/local/Cellar/android-sdk/24.1.2/
杂项:

backend : pro

我也有相同的版本“^9.1.1”和“^2.0.1”@ngx-translate/core”:“^9.1.1”和@ngx-translate/http-loader”:“^2.0.1”
你可以用my package.json检查angular dependency和ionic应用程序脚本版本。我可以使用这些版本

    "dependencies": {
    "@angular/animations": "5.2.9",
    "@angular/common": "5.2.9",
    "@angular/compiler": "5.2.9",
    "@angular/compiler-cli": "5.2.9",
    "@angular/core": "^5.2.9",
    "@angular/forms": "5.2.9",
    "@angular/http": "5.2.0",
    "@angular/platform-browser": "^5.2.9",
    "@angular/platform-browser-dynamic": "5.2.9",
    "@ionic-native/app-version": "^4.7.0",
    "@ionic-native/ble": "^4.7.0",
    "@ionic-native/core": "4.6.0",
    "@ionic-native/globalization": "^4.7.0",
    "@ionic-native/keyboard": "^4.7.0",
    "@ionic-native/network": "^4.7.0",
    "@ionic-native/screen-orientation": "^4.7.0",
    "@ionic-native/splash-screen": "4.6.0",
    "@ionic-native/status-bar": "4.6.0",
    "@ionic/storage": "2.1.3",
    "@ngx-translate/core": "^9.1.1",
    "@ngx-translate/http-loader": "^2.0.1",
    "cordova-android": "6.3.0",
    "cordova-ios": "4.5.4",
    "cordova-plugin-app-version": "^0.1.9",
    "cordova-plugin-compat": "^1.2.0",
    "cordova-plugin-device": "^2.0.1",
    "cordova-plugin-globalization": "^1.0.9",
    "cordova-plugin-ionic-keyboard": "^2.0.5",
    "cordova-plugin-ionic-webview": "^1.1.19",
    "cordova-plugin-screen-orientation": "^3.0.1",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.1",
    "cordova-plugin-whitelist": "^1.3.3",
    "es6-promise-plugin": "^4.2.2",
    "ionic-angular": "3.9.2",
    "ionicons": "3.0.0",
    "moment": "^2.22.1",
    "moment-timezone": "^0.5.16",
    "rxjs": "5.5.8",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.20"
  },
  "devDependencies": {
    "@ionic/app-scripts": "3.1.8",
    "typescript": "~2.6.2",
  }

应用模块:App.Module.ts

import {ErrorHandler, NgModule} from '@angular/core';
import {IonicApp, IonicErrorHandler, IonicModule} from 'ionic-angular';

// import ngx-translate and the http loader
import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
import {HttpClient, HttpClientModule} from '@angular/common/http';
import {Globalization} from '@ionic-native/globalization';
/****************************Pages*******************************/
import {myApp} from './app.component';
import {SignUp} from '../pages/sign_up/sign-up.component';

import {GlobalizationService} from '../providers/common_service/globalisation.service';


// required for AOT compilation
export function HttpLoaderFactory(http: HttpClient) {
    return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

@NgModule({
    declarations: [
        myApp,
    ],
    imports: [
        IonicModule.forRoot(myApp, {
            mode: 'ios'
        }),
        TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: HttpLoaderFactory,
                deps: [HttpClient]
            }
        })
    ],
    bootstrap: [IonicApp],
    entryComponents: [
        myApp,
        SignUp,
    ],
    providers: [
        Globalization,
        GlobalizationService,
        //TODO TEST
        {provide: ErrorHandler, useClass: IonicErrorHandler}
    ]
})
export class AppModule {
}

应用程序组件文件:App.Component.ts

import {Component, ViewChild} from '@angular/core';
import {Platform} from 'ionic-angular';

import {GlobalizationService} from '../providers/common_service/globalisation.service';
import {SignUp} from '../pages/sign_up/sign-up.component';

@Component({
    templateUrl: 'app.html'
})

export class myApp {
    @ViewChild(Nav) nav: Nav;

    rootPage: any = SignUp;

    pages: Array<{ title: string, component: any }>;

    constructor(private globalizationService: GlobalizationService) {

    }

    protected initializeApp() {
        this.globalizationService.initializeLocalization();
        this.platform.ready().then(() => {
            //Function initializeLocalization can also call here 
        });
    }
}

我也有相同的版本“^9.1.1”和“^2.0.1”@ngx-translate/core”:“^9.1.1”和@ngx-translate/http-loader”:“^2.0.1”
你可以用my package.json检查angular dependency和ionic应用程序脚本版本。我可以使用这些版本

    "dependencies": {
    "@angular/animations": "5.2.9",
    "@angular/common": "5.2.9",
    "@angular/compiler": "5.2.9",
    "@angular/compiler-cli": "5.2.9",
    "@angular/core": "^5.2.9",
    "@angular/forms": "5.2.9",
    "@angular/http": "5.2.0",
    "@angular/platform-browser": "^5.2.9",
    "@angular/platform-browser-dynamic": "5.2.9",
    "@ionic-native/app-version": "^4.7.0",
    "@ionic-native/ble": "^4.7.0",
    "@ionic-native/core": "4.6.0",
    "@ionic-native/globalization": "^4.7.0",
    "@ionic-native/keyboard": "^4.7.0",
    "@ionic-native/network": "^4.7.0",
    "@ionic-native/screen-orientation": "^4.7.0",
    "@ionic-native/splash-screen": "4.6.0",
    "@ionic-native/status-bar": "4.6.0",
    "@ionic/storage": "2.1.3",
    "@ngx-translate/core": "^9.1.1",
    "@ngx-translate/http-loader": "^2.0.1",
    "cordova-android": "6.3.0",
    "cordova-ios": "4.5.4",
    "cordova-plugin-app-version": "^0.1.9",
    "cordova-plugin-compat": "^1.2.0",
    "cordova-plugin-device": "^2.0.1",
    "cordova-plugin-globalization": "^1.0.9",
    "cordova-plugin-ionic-keyboard": "^2.0.5",
    "cordova-plugin-ionic-webview": "^1.1.19",
    "cordova-plugin-screen-orientation": "^3.0.1",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.1",
    "cordova-plugin-whitelist": "^1.3.3",
    "es6-promise-plugin": "^4.2.2",
    "ionic-angular": "3.9.2",
    "ionicons": "3.0.0",
    "moment": "^2.22.1",
    "moment-timezone": "^0.5.16",
    "rxjs": "5.5.8",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.20"
  },
  "devDependencies": {
    "@ionic/app-scripts": "3.1.8",
    "typescript": "~2.6.2",
  }

应用模块:App.Module.ts

import {ErrorHandler, NgModule} from '@angular/core';
import {IonicApp, IonicErrorHandler, IonicModule} from 'ionic-angular';

// import ngx-translate and the http loader
import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
import {HttpClient, HttpClientModule} from '@angular/common/http';
import {Globalization} from '@ionic-native/globalization';
/****************************Pages*******************************/
import {myApp} from './app.component';
import {SignUp} from '../pages/sign_up/sign-up.component';

import {GlobalizationService} from '../providers/common_service/globalisation.service';


// required for AOT compilation
export function HttpLoaderFactory(http: HttpClient) {
    return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}

@NgModule({
    declarations: [
        myApp,
    ],
    imports: [
        IonicModule.forRoot(myApp, {
            mode: 'ios'
        }),
        TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: HttpLoaderFactory,
                deps: [HttpClient]
            }
        })
    ],
    bootstrap: [IonicApp],
    entryComponents: [
        myApp,
        SignUp,
    ],
    providers: [
        Globalization,
        GlobalizationService,
        //TODO TEST
        {provide: ErrorHandler, useClass: IonicErrorHandler}
    ]
})
export class AppModule {
}

应用程序组件文件:App.Component.ts

import {Component, ViewChild} from '@angular/core';
import {Platform} from 'ionic-angular';

import {GlobalizationService} from '../providers/common_service/globalisation.service';
import {SignUp} from '../pages/sign_up/sign-up.component';

@Component({
    templateUrl: 'app.html'
})

export class myApp {
    @ViewChild(Nav) nav: Nav;

    rootPage: any = SignUp;

    pages: Array<{ title: string, component: any }>;

    constructor(private globalizationService: GlobalizationService) {

    }

    protected initializeApp() {
        this.globalizationService.initializeLocalization();
        this.platform.ready().then(() => {
            //Function initializeLocalization can also call here 
        });
    }
}

今天,我们在与其他工作站共享同一个node_模块文件夹的工作站中遇到了相同的问题! 该错误似乎与最新的Chrome更新版本或生成的ts源代码映射或两者有关,因为当我们在开发模式下运行应用程序时,其他浏览器工作正常。。。 一个快速修复方法是进行生产构建并将其加载到Chrome上,然后在开发模式下重试。
至少这对我们有效,也可能对其他人有效。

今天,我们在与其他人共享同一节点模块文件夹的工作站中遇到了同样的问题! 该错误似乎与最新的Chrome更新版本或生成的ts源代码映射或两者有关,因为当我们在开发模式下运行应用程序时,其他浏览器工作正常。。。 一个快速修复方法是进行生产构建并将其加载到Chrome上,然后在开发模式下重试。
至少这对我们有用,也可能对其他人有用。

哦,是的,谢谢你的提示!!我确认它不适用于Chrome,但适用于Firefox。哦,是的,谢谢你的提示!!我确认它不适用于Chrome,但适用于Firefox。