2017-10-11 22 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報告說,它無法找到該模塊,我可以這樣導入:

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

當我嘗試建立並運行我的應用程序,我得到了以下錯誤

TS2304: Cannot find name 'abp'. 

奇怪的是這個錯誤顯示5或6次,不僅涉及到我的本地打字稿文件,而且還涉及我的包內的打字稿文件。

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

你運行 「的運行故宮建」? –

回答

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/*" ] 
}