2017-12-21 12 views
1
ignorieren

Auch hier gehen wir, noch einen Monat und eine andere ReSharper-Update, das alles in Typoskript zu brechen scheint, wenn mit Knotenmodule arbeiten und @typesReSharper Telling lib Ordner in node_modules

ich mit Typoskript arbeite, Reagieren und Redux , so haben verschiedene ReduxActions getippt stark die npm Paket redux-actions und @types/redux-actions

Mein Code wie folgt aussieht:

const pageReducer = handleActions<IPageState, number | string>({ 

    [actionTypes.doSomething]: (state: IPageState, action: Action<string>): IPageState => {  
     // some code to manipulate the state 
     return {}; // returning the manipulated state 
    }, 

    [actionTypes.doSomethingElse]: (state: IPageState, action: Action<number>): IPageState => {  
     // some code to manipulate the state 
     return {}; // returning the manipulated state 
    } 

}, initialState()); // initial state function which returns initial state object 

IPageState ist eine Schnittstelle, die verschiedene pr hat operties darauf.

Alles wird kompiliert und gebündelt durch webpack und läuft wie ein Zauber, also keine Probleme mit dem Code. Wir haben dieses Muster in den letzten 2 Jahren verwendet und funktioniert gut.

jedoch mit der neuesten ReSharper-Update (Version 2017,3), ist es nun beschwert, dass handleActions<IPageState, number | string>

Untypisierte Funktionsaufrufe Typ Argumente nicht

akzeptieren kann ich bemerkt habe, dass ReSharper zu sein scheint suchen in die Datei /node_modules/redux-actions/lib/index.js, um seine Definitionen für alles zu erhalten, anstatt in die Datei /node_modules/@types/redux-actions/index.d.ts zu schauen. Wenn ich den Ordner lib lösche, gehen alle Resharper-Fehler weg.

Gibt es sowieso zu sagen, Resharper den Ordner lib ignorieren? Ich kann es nicht einfach löschen, da bei einer Neuinstallation der Ordner erneut angezeigt wird.

+0

Haben Sie versucht, diesen Ordner der Liste "ReSharper | Optionen | Code bearbeiten | Code für Drittanbieter" hinzuzufügen? –

+0

Ich habe gerade versucht und weil der Knoten node_modules nicht Teil der Lösung ist, bekomme ich einen Fehler "Einige ausgewählte Ordner sind nicht Teil der Lösung und wurden nicht hinzugefügt." –

Antwort

1

Ich habe das gleiche Problem. Der einzige Weg, den ich bisher gefunden habe, ist, eine Dreifach-Schrägstrich-Direktive für die Typdefinitionen oben in einer meiner react-Komponenten hinzuzufügen (ich habe es in app.tsx eingefügt, was die wichtigste Reak-Komponente für meine App ist), z.B

/// <reference path="./../../node_modules/@types/react/index.d.ts"/> 

Das Hinzufügen zu einer einzelnen Datei innerhalb der Quelle scheint ausreichend zu sein, um die fehlerhaften R # -Fehler projektweit zu beheben. Nicht ideal und ich habe keine Ahnung, warum es funktionieren sollte, aber es scheint das Problem für mich bisher gelöst zu haben.

+0

Danke, das ist ein guter Vorschlag, um dieses Problem gerade jetzt zu umgehen. Es scheint gerade ein Bug in Resharper zu sein und ich habe das Problem mit JetBrains angesprochen, aber es ist noch nichts daraus geworden. https://youtrack.jetbrains.com/issue/RSRP-467712 –

Verwandte Themen