将aspnetboilerplate.com添加到现有的角度项目中

时间:2017-10-11 11:28:32

标签: angular typescript aspnetboilerplate

我使用优秀的aspnetboilerplate.com创建了一个项目,但我正在尝试将其用于我现有的Angular项目。

我正在尝试设置身份验证功能(用户登录等)。

我已将以下软件包添加到我的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'.

它似乎是命名空间的东西,但我不确定为什么安装的包甚至不起作用?

1 个答案:

答案 0 :(得分:1)

我必须创建一个自定义输入文件,即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/*" ]
}