gpt4 book ai didi

angular - 将 ng-bootstrap 集成到 ASP.NET Core JavaScript 服务(Angular)项目中

转载 作者:太空狗 更新时间:2023-10-29 17:03:34 28 4
gpt4 key购买 nike

我正在使用 ASP.NET Core 2.0's JavaScript ServicesAngular并尝试整合 ng-bootstrap .

我安装了 ng-bootstrap:

npm install --save @ng-bootstrap/ng-bootstrap

我将它添加到 webpack.config.vendor.js:

...
const treeShakableModules = [
'@angular/animations',
'@angular/common',
'@angular/compiler',
'@angular/core',
'@angular/forms',
'@angular/http',
'@angular/platform-browser',
'@angular/platform-browser-dynamic',
'@angular/router',
'@ng-bootstrap/ng-bootstrap', // <-- down here
'zone.js',
];
...

我将 NgbModule 添加到我的 app.module.shared.ts 的导入中:

...
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
...
@NgModule({
declarations: [
AppComponent,
...
],
imports: [
CommonModule,
NgbModule.forRoot(), // <-- this guy
HttpModule,
FormsModule,
RouterModule.forRoot([
...
])
]
})
export class AppModuleShared {
}

我清理解决方案并运行:

c:\...>webpack && webpack --config webpack.config.vendor.js

一切都很好。

运行:

c:\...>dotnet run

尝试加载页面会导致以下错误:

NodeInvocationException: Prerendering timed out after 30000ms because the boot function in 'ClientApp/dist/main-server' returned a promise that did not resolve or reject.

这显然与预渲染有关。所以我目前正在尝试仅使用我想使用的组件创建 ng-bootstrap 的模型,它不会调用任何 promise (或将使用立即解决的虚拟 promise ),并且不会调用的DOM。这将被导入 app.module.server.ts...

import { NgbModule } from './components/ng-bootstrap-mockup/ng-bootstrap'

...和标准...

import { NgbModule } from '@ng-bootstrap/ng-bootstrap'

...将在 app.module.browser.ts 中使用,而不是在 app.module.shared 中使用标准。 ts.

当然,这些都将导入到各自的 app 模块中...

@NgModule({
...
imports: [
NgbModule.forRoot(),
...
]
})
...

所以我的问题是,我是否遗漏了什么?除了像我上面描述的那样创建模型之外,还有更好的方法来处理这个问题吗?

最佳答案

您可以将 Bootstrap 4 添加到 Angular 项目

Install bootstrap Alpha release using NPM:

npm install --save bootstrap@4.0.0-alpha.6
//We chose a specific version to ensure future releases doesn’t break the sample. Optionally, run the following command to install the latest pre-release package.

npm install –save bootstrap@next
//Once the package is downloaded, add Bootstrap references in .angular-cli.json.

//Modify styles configuration to add Bootstrap CSS

styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],

//Modify scripts configuration to add jQuery, Bootstrap and Tether JS files.

"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/tether/dist/js/tether.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js"
],

关于angular - 将 ng-bootstrap 集成到 ASP.NET Core JavaScript 服务(Angular)项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46552999/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com