Eine sehr häufige Frage.Import einzelne Funktion von lodash in Angular 2 + webpack Projekt
Wie importieren Sie eine einzelne Funktion von lodash?
Ich versuchte lodash.orderby, aber ich glaube, dass mit commonjs verwendet werden soll. Ich habe auch lodash-es ohne viel Erfolg versucht. Ich bekomme immer noch eine Vielzahl von Fehlern wie Cannot find module 'lodash-es'
oder Cannot find module 'lodash/orderBy'
.
Eine andere Möglichkeit war, custom builds zu verwenden, aber ich konnte nicht herausfinden, wie man eine einzelne Funktion richtig importiert.
läuft Angular 2 RC-4, Typoskript 2.1.0-dev, Webpack 2 (Beta).
Typoskript ist in der folgenden Art und Weise konfiguriert:
{
"compilerOptions": {
"target": "es5",
"module": "es6",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"moduleResolution": "node"
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
UPDATE
Ich bin derzeit das Modul auf folgende Weise importieren:
import {orderBy} from 'lodash-es';
Diese tatsächlich funktioniert (das heißt, die App verwendet OrderBy korrekt), aber der Fehler bleibt bestehen. Ich glaube, das Problem ist, dass es keine Typdefinition für Lodashes gibt.
typings.json
{
"globalDependencies": {
"core-js": "registry:dt/core-js#0.0.0+20160602141332",
"jasmine": "registry:dt/jasmine#2.2.0+20160505161446",
"jquery": "registry:dt/jquery#1.10.0+20160417213236",
"node": "registry:dt/node#6.0.0+20160613154055",
"typeahead": "registry:dt/typeahead#0.11.1+20160317120654"
},
"dependencies": {
"lodash": "registry:npm/lodash#4.0.0+20160416211519"
}
}
UPDATE:
Dies ist eine alte Frage, aber für die Zukunft, wenn Sie require
nicht verwenden, müssen Sie möglicherweise die korrekte Eingabe Informationen installieren . In diesem speziellen Fall musste ich das Modul lodash-es installieren und deklarieren.
Was ist Inhalt Ihrer 'typings.json' Datei und wie Sie die orderby importieren? – tomastrajan
Importieren Sie lodash.orderby nicht, fordern Sie es an. – estus
@tomastrajan Ich habe meine Frage mit weiteren Informationen aktualisiert. Ich denke, die Typisierungsdefinitionen sind für Lodashes nicht verfügbar. Ich habe die Definition für lodash aufgenommen und das kann man in typings.json sehen. –