2017-08-05 13 views
0

私はangular2 +アプリにサードパーティのライブラリ(urijs)を含める方法を見つけようとしています。下に、関連するファイルがあります。Angular2 +アプリにURI.jsライブラリを含めるにはどうすればよいですか?

// package.json 
{ 
    ... 
    "dependencies": { 
    ... 
    "urijs": "^1.18.10", 
    ... 
    } 
    ... 
} 

// .angular-cli.json 
{ 
    ... 
    "scripts": ["../node_modules/urijs/src/URI.js"], 
    ... 
} 

// file.service.js 
declare const URI: any; 
... 
... 
URI.expand(..); 

私のアプリケーションを実行するとエラーが発生します。

ERROR TypeError: URI.expand is not a function 
at ProfileService.webpackJsonp.../../../../../src/app/shared/trakt/users/profile.service.ts.ProfileService.retrieveProfile (main.bundle.js:1071) 
at HeaderComponent.webpackJsonp.../../../../../src/app/home/header/header.component.ts.HeaderComponent.ngOnInit (main.bundle.js:239) 
at checkAndUpdateDirectiveInline (vendor.bundle.js:59912) 
at checkAndUpdateNodeInline (vendor.bundle.js:61408) 
at checkAndUpdateNode (vendor.bundle.js:61347) 
at debugCheckAndUpdateNode (vendor.bundle.js:62208) 
at debugCheckDirectivesFn (vendor.bundle.js:62149) 
at Object.eval [as updateDirectives] (ng:///HomeModule/HomeComponent.ngfactory.js:13) 
at Object.debugUpdateDirectives [as updateDirectives] (vendor.bundle.js:62134) 
at checkAndUpdateView (vendor.bundle.js:61314) 

私はurijsライブラリを含めることができますどのように任意のアイデア?

おかげ

答えて

1

urijsはコンパイラがライブラリを使用する方法を知っているので、あなたはまた、タイピングファイルをインクルードする必要がありますネイティブ角度/ Typesriptのサポートが含まれていない場合は、次の

https://github.com/typings/typings https://github.com/DefinitelyTyped/DefinitelyTyped

+0

このライブラリの[入力ファイル](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/urijs)が見つかりました。 – Ismael

0

私は実際の解決策を見つけました。私はそれが正しいかどうかわかりませんが、それは動作します。私は[email protected][email protected]を使用しています。

URI.jsをアレイに追加する必要があります。.angular-cli.jsonファイルです。 URI.jsリポジトリ内

"scripts": [ 
    "../node_modules/urijs/src/URI.js", 
    "../node_modules/urijs/src/URITemplate.js" 
] 

問題UriTemplate needs to be defined globally #297が助けてくれました。

関連する問題