Ionic 3: todas las importaciones son avisos no utilizados (aunque se estén utilizando)

Recibo el siguiente error al intentar ejecutar una compilation de prod mediante el siguiente

browser de construcción iónico cordova –prod

Recibiendo muchas advertencias en la terminal como

FormBuilder se declara pero nunca se usa

Aunque en mi código lo estoy importando y usándolo, por ejemplo

import { Validators, FormGroup, FormBuilder } from '@angular/forms'; public form: FormGroup; constructor( private formBuilder: FormBuilder ) { setForm(){ this.form = this.formBuilder.group({ password: ['', Validators.requinetworking], password2: ['', Validators.requinetworking] }); } 

¿Alguien tiene un problema similar? Supongo que sería algo relacionado con una actualización del package npm.

Cualquier consejo sería genial.

¡Gracias!

Ionic 3.3.0 (2017-05-24) eliminó el uso del file henetworkingado 'src / declarations.d.ts' como se menciona en el logging de cambios . Al eliminar 'declarations.d.ts' de la carpeta src /, se corrige la advertencia de importaciones no utilizadas.

Para get más información, consulta el problema de GitHub .

Tengo el mismo problema y esto es porque tslint 5.0 cambió la forma en que verifica las variables no utilizadas.

Puede suprimir las advertencias cambiando las reglas del file tslint.json . Cambié la "variable no utilizada" de verdadera a falsa, por lo que se verá así:

 { "rules": { "no-duplicate-variable": true, "no-unused-variable": [ false ] }, "rulesDirectory": [ "node_modules/tslint-eslint-rules/dist/rules" ] } 

Por supuesto, esto suprimirá todas las advertencias sobre variables no utilizadas, pero en cualquier momento puede revertirlo a verdadero para ver si hay otras variables no utilizadas.

También puede agregar la siguiente variable "noUnusedLocals": verdadero al file tsconfig.json :

 { "compilerOptions": { "noUnusedLocals": true, . . . } 

Solo sé que las "noUnusedLocals": true arrojarán errores en lugar de advertencias …

Espero que esto ayude

Formulario de trabajo con mi aplicación iónica 3:

 import {FormBuilder, FormGroup, Validators } from '@angular/forms'; @IonicPage() @Component({ selector: 'page-mobile-login', templateUrl: 'mobile-login.html', }) export class MobileLoginPage { public loginForm:FormGroup; constructor(public navCtrl: NavController, public navParams: NavParams, public formBuilder: FormBuilder) { this.loginForm = formBuilder.group({ mobile: ['', Validators.compose([Validators.requinetworking,Validators.pattern('[0-9 ]*'), Validators.maxLength(10),Validators.minLength(10)])] }); } } 

Parece que estás usando otra function setForm() en el constructor.

mobile-login.html

 <form [formGroup]="loginForm" (submit)="submitMobile()" novalidate> <ion-list padding-right padding-left> <ion-item no-padding> <ion-input formControlName="mobile" type="tel" placeholder="Enter Mobile" minlength="10" maxlength="10" [class.invalid]="!loginForm.controls.mobile.valid && loginForm.controls.mobile.dirty"> </ion-input> </ion-item> <ion-item no-padding class="error-message" *ngIf="!loginForm.controls.mobile.valid && loginForm.controls.mobile.dirty"> <p ion-text> Enter Valid Mobile Number </p> </ion-item> </ion-list> <ion-row responsive-sm padding-right padding-left> <ion-col class="otpbutton"> <button color='navbarColor' class="bluebg" ion-button block icon-left type="submit" [disabled]="!loginForm.valid"> <ion-icon name="phone-portrait"></ion-icon> Submit </button> </ion-col> </ion-row> </form>