2017-06-26 34 views
7

我正在嘗試使用以下離子3 - 所有進口的未使用的警告(即使正在使用它們)

離子科爾多瓦構建瀏覽器--prod

運行督促構建時出現以下錯誤

獲得不少警示像

FormBuilder終端聲明,但從未使用過

即使在我的代碼中,我導入它並使用它,例如

import { Validators, FormGroup, FormBuilder } from '@angular/forms'; 

public form: FormGroup; 

constructor(
    private formBuilder: FormBuilder 
) { 

setForm(){ 
    this.form = this.formBuilder.group({ 
     password: ['', Validators.required], 
     password2: ['', Validators.required] 
    }); 
    } 

有沒有人有類似的問題?我的猜測是這將與npm軟件包更新有關。

任何建議將是偉大的。

謝謝!

+0

請記住,在將項目更新到Ionic3之後,應該刪除'node_modules'文件夾,然後再次運行'npm install'。使用新的CLI,這些警告將更具侵略性,爲自己做好準備。 –

+0

感謝您的回覆。我刪除了它們,現在重新安裝了很多次。更新到Ionic 3 a後,並沒有這個問題,只有最近才發生。 – user2085143

+0

我有同樣的問題,有幫助嗎? – Eusthace

回答

6

離子3.3.0(2017年5月24日)中除去遺留文件 'SRC/declarations.d.ts' 的使用如在所提到的changelog。從src /文件夾中刪除'declarations.d.ts'可修復未使用的導入警告。

欲瞭解更多信息,請查閱GitHub issue

+0

我錯過了這個,它應該是被接受的答案。 – lathonez

2

我有同樣的問題,這是因爲tslint 5.0改變了它如何檢查未使用的變量。

您可以通過更改tslint.json文件的規則來抑制警告。我改變了「無未使用的變量」從真到假的所以它會是這個樣子:

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

當然,這將抑制所有警告有關未使用的變量,但在任何時候,你可以把它還原爲真實的看到如果還有其他未使用的變量。

您還可以添加以下變量「noUnusedLocals」:真tsconfig.json文件:

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

只知道「noUnusedLocals」:真將拋出錯誤,而不是雖然警告...

希望這有助於

0

工作形式與我離子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.required,Validators.pattern('[0-9 ]*'), 
       Validators.maxLength(10),Validators.minLength(10)])] 
      }); 
     } 


} 

似乎問題您正在構造函數中使用另一個函數setForm()

移動的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> 
+0

您是否找到解決方案?我不認爲解決方案只是關閉未使用變量的標誌。 我有這個答案相同的聲明,但仍然具有相同的警告。 :/ – Nestor

相關問題