2017-03-08 5 views
0

これはどのように行うかを説明するドキュメントまたはステップバイステップガイドはありますか?サードパーティのnpm modulsをtypescript(Angular2)で使用する方法

例を挙げたい:simpl-schemaというパッケージを角型アプリで使用しようとしました。私は、そう

ERROR /app/app.component.ts (2,20): Cannot find name 'require'.) 

let SimpleSchema = require('simpl-schema').default; 

は、今私がエラーを持っている:私は追加app.component.tsで

ng new ng-ss-test 
cd ng-ss-test 
npm install --save simpl-schema 

:私は新しいアプリを作成しました

declare var require: any 

これは実際に動作しています。私は

const schema = new SimpleSchema({ 

のようなものを書くことができるが、私はそれを行う方法はないthatsのだと思います。私は

dts-gen -m simpl-schema 

を実行することにより、SIMPL-SCHEMの型情報を作成することができますが、私はまだ右requireラインを、必要もちろん

WARNING in ./~/handlebars/lib/index.js 
require.extensions is not supported by webpack. Use a loader instead. 
@ ./~/message-box/dist/MessageBox.js 13:18-39 
@ ./~/simpl-schema/dist/SimpleSchema.js 
@ ./~/simpl-schema/dist/main.js 
@ ./src/app/app.component.ts 
@ ./src/app/app.module.ts 
@ ./src/main.ts 
@ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts 

:私はまだ警告を得ましたか。私は第三者npmモジュールを使用する正しい方法が何であるか疑問に思っています。

+1

Angular CLIにはサードパーティのライブラリを追加するためのドキュメントがあります。https://github.com/angular/angular-cli/wiki/stories-third-party-lib –

+0

OK、それは私に 'require'を使うのと同じ結果をもたらします。 'require.extensions'に関する警告は' simpl-schema'モジュールからのものですので、そこに固定する必要があります。私はwebpackがどのファイルを 'node_modules/simpl-schema'ディレクトリからインポートしなければならないか知っていますか? – MarcS82

答えて

0

サードパーティのモジュールを使用するには、typescriptの定義が必要です。各モジュールには、ライブラリで使用できるメソッドを定義するtypescript d.tsファイルが付属しています。ただし、これには含まれていないため、独自のd.tsファイルを作成するか、DefinitelyTypedのレポをここにチェックする必要があります:https://github.com/DefinitelyTyped/DefinitelyTyped

d.tsファイルをプロジェクトに追加するだけで、あなたのライブラリを使用する。

関連する問題