2016-07-20 9 views
1

よくある質問です。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をインストールして宣言する必要がありました。

+0

あなた 'typings.json'ファイルとどのようにあなたがORDERBYをインポートしているの内容は何ですか? – tomastrajan

+0

lodash.orderbyをインポートしないでください。 – estus

+0

@tomastrajan私は質問に更なる情報を追加しました。私は入力定義はlodash-esでは利用できないと思います。私はlodashの定義を含めていました。それはあなたがタイピングで見ることができるものです.json。 –

答えて

1

必要な機能をインストールします。

npm install --save lodash.countby @types/lodash.countby 

次に使用して、それをインポートします。

const countBy = require('lodash.countBy'); 
+0

これは古い質問でしたが、私が覚えている限り、私は 'require'を使用していませんでした。問題は正しいタイピングを宣言することでした。 –

+0

はい、残念ながらそれはまだ有効です。私はかなりの時間を費やしました。あなたの質問に答えが隠されているので、私は答えを提出することでそれをより目立たせました。とにかく、これは私がそれを行う方法を見つけた唯一の方法です。 – sax

+0

この特定の質問には有効ではありません。私はこの場合に働いたことを説明するために質問を更新する。 –

関連する問題