我试图在我的 Jhipster 应用程序中制作可重用的登录组件,所以我创建了 Angular 库来实现这一点。这样,我们也可以在其他应用程序中使用此登录组件。
我还包含了组件依赖的必要服务。
1- 我用
ng generate library login-lib
创建了图书馆
2- 创建库时,我也放置了服务。 所以文件结构看起来像这样;
3-我导出了
public-api.ts
中的所有文件
export { LoginLibService } from './lib/login-lib.service';
export { LoginLibComponent } from './lib/login-lib.component';
export { LoginLibModule } from './lib/login-lib.module';
export { Login } from './lib/login-lib.model';
export { Account } from './lib/auth/account-lib.model';
export { AccountService } from './lib/auth/account-lib.service';
export { AuthServerProvider } from './lib/auth/auth-jwt-lib.service';
export { StateStorageService } from './lib/auth/state-storage-lib.service';
export { UserRouteAccessLibService } from './lib/auth/user-route-access-lib.service';
export { ApplicationConfigService } from './lib/config/application-config-lib.service';
4- 当我使用
ng build login-lib
构建库时,编译后的文件位于名为 dist\login-lib
的根目录下
5- 现在我想使用
login-lib.component.ts
以便在主应用程序中呈现模板。因为我有登录表格。
6- 我在应用程序的
LoginLibModule
中导入了login.module
。
import { LoginLibModule } from '../../../../../dist/login-lib/public-api';
@NgModule({
imports: [SharedModule, RouterModule.forChild([LOGIN_ROUTE]), LoginLibModule],
declarations: [LoginWrapperComponent],
})
export class LoginModule {}
7-稍后在
LoginWrapperComponent
模板中,我用login-lib.component.ts
渲染jhi-login-lib
。
现在的问题;
./src/main/webapp/app/login/login.module.ts:3:0-84 - Error: Module not found: Error: Can't resolve '../../../../../dist/login-lib/lib/login-lib.module' in 'C:\daten\dev\...\...\src\main\webapp\app\login'
我有同样的错误,每当我试图从
dist
而不是projects\login-lib
访问图书馆时。如果我使用库源代码中的文件,即projects\login-lib
,我没有任何问题。然而,这是我的错,我使用projects\login-lib
.将库集成到应用程序中
1- 不管导入什么路径,都不识别模块。 我试过使用,
import { LoginLibModule } from 'login-lib';,
import { LoginLibModule } from '../../../../../dist/login-lib/login-lib';,
import { LoginLibModule } from '../../../../../dist/login-lib/lib/login-lib.module';
import { LoginLibModule } from '../../../../../dist/login-lib/public-api';
2- 我已经尝试在库和应用程序中的
angular.json
文件中导入脚本文件;
"scripts": ["./dist/login-lib/fesm2015/login-lib.js"]
我们正在使用另一个库,我们也像这样导入到脚本中。
3- 我也尝试将
dist
构建到 node_modules
的路径。还是一样。
4-我已经尝试发布到
npm
,还是一样的错误