よくある質問です。Angular 2 + webpackプロジェクトのlodashから単一の関数をインポート
lodashから1つの関数をインポートするにはどうすればよいですか?
私はlodash.orderbyを試しましたが、commonjsで使用されるはずです。私もlodash-esを試してみました。私はまだCannot find module 'lodash-es'
またはCannot find module 'lodash/orderBy'
のようなさまざまなエラーを受け取ります。
もう1つの可能性はcustom buildsですが、1つの関数を正しくインポートする方法がわかりませんでした。
ランニングアングル2 RC-4、typescript 2.1.0-dev、webpack 2(beta)。
活字体は次のように設定されています。
{
"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
私は現在、次のようにモジュールをインポートしています:
import {orderBy} from 'lodash-es';
これは、実際に働いています(つまり、アプリケーションはorderByを正しく使用しています)、エラーは継続します。問題はlodash-esの型定義がないということです。
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:
これは古い質問ですが、あなたはrequire
を使用していない場合は、将来の参考のために、あなたは正しいタイピング情報をインストールする必要があります。この特定のケースでは、モジュールlodash-esをインストールして宣言する必要がありました。
あなた 'typings.json'ファイルとどのようにあなたがORDERBYをインポートしているの内容は何ですか? – tomastrajan
lodash.orderbyをインポートしないでください。 – estus
@tomastrajan私は質問に更なる情報を追加しました。私は入力定義はlodash-esでは利用できないと思います。私はlodashの定義を含めていました。それはあなたがタイピングで見ることができるものです.json。 –