2017-10-11 16 views
0

優れたaspnetboilerplate.comを使用してプロジェクトを作成しましたが、既存のAngularプロジェクトで使用しようとしています。既存の角度プロジェクトにaspnetboilerplate.comを追加する

認証機能(ログインしているユーザーなど)を設定しようとしています。

package.json "abp-ng2-module" "abp-web-resources"に次のパッケージを追加しました。

また、角型アプリケーションに関連するタイスクリプトファイルを追加しました。私はaspnetboilerplate.comから自動生成されたプロジェクトを見てみると

彼らがこのようにモジュールをインポートする:

しかし
import { PermissionCheckerService } from '@abp/auth/permission-checker.service'; 

私のために働くとVSCodeはそれがモジュールを見つけることができないことを報告していないこと、私は試してみて、私のアプリをビルドして実行すると、私は

TS2304: Cannot find name 'abp'. 
次のエラーを取得

import { PermissionCheckerService } from "abp-ng2-module/dist/src/auth/permission-checker.service"; 

を:私はこのようにそれをインポートすることができます

奇妙なことに、このエラーは5回または6回表示され、ローカルのtypescriptファイルだけでなく、パッケージ内のtypescriptファイルにも関係します。

ERROR in [at-loader] ./node_modules/abp-ng2-module/dist/src/features/feature-checker.service.d.ts:2:31 
TS2503: Cannot find namespace 'abp'. 

名前空間の周囲にあるようですが、なぜインストールされたパッケージが機能しないのかわかりません。

+0

を追加しましたあなたは、 "NPM実行ビルド" を実行したのですか? –

答えて

0

私はtypings.d.tsというカスタム入力ファイルを作成し、次の行を追加する必要がありました。

///<reference path="../node_modules/abp-webresources/Abp/Framework/scripts/abp.d.ts"/> 
///<reference path="../node_modules/abp-web-resources/Abp/Framework/scripts/libs/abp.jquery.d.ts"/> 
///<reference path="../node_modules/abp-web-resources/Abp/Framework/scripts/libs/abp.signalr.d.ts"/> 

私もtsconfig.jsonファイルに次の

"baseUrl": ".", 
"paths": { 
    "@abp/*": [ "../node_modules/abp-ng2-module/src/*" ], 
    "@app/*": [ "./app/*" ], 
    "@shared/*": [ "./shared/*" ], 
    "@node_modules/*": [ "../node_modules/*" ] 
} 
関連する問題