我试图使用带有角度和电子的@ ng-bootstrap / ng-bootstrap,使用gulp。
这是我的渲染器.ts:
/**
* Angular Module declaration
*/
let BrowserModule = require('@angular/platform-browser').BrowserModule;
let UpgradeModule = require('@angular/upgrade/static').UpgradeModule;
let NgbModule = require('@ng-bootstrap/ng-bootstrap').NgbModule;
let NgModule = require('@angular/core').NgModule;
let platformBrowserDynamic = require('@angular/platform-browser-dynamic').platformBrowserDynamic;
require('zone.js');
@NgModule({
imports: [
NgbModule.forRoot(),
BrowserModule,
UpgradeModule
]
})
export class AppModule {
constructor() { }
ngDoBootstrap() {
}
}
let angular = require('angular');
// When DOM is loaded
angular.element(document).ready(function () {
// start up the Angular module "AppModule" in AngularJS
// platformBrowserDynamic().bootstrapModule(AppModule, { ngZone: 'noop'})
platformBrowserDynamic().bootstrapModule(AppModule)
.then((platformRef) => {
const upgrade = platformRef.injector.get(UpgradeModule);
upgrade.bootstrap(document, ['app']);
});
});
我的index.html:
<!DOCTYPE html> <html> <body> <script> require('./dist/renderer.js') </script> <button ngbTooltip="hello">Hello</button> </body> </html>
我在尝试加载NgbModules
时遇到此错误Can't resolve all parameters for NgbAlert: (?)
我在这里失去什么?
PD:我在代码的任何地方都没有使用NgbAlert。
错误:
未捕获错误:无法解析NgbAlert的所有参数:(?)。 at syntaxError(C:\ Users \ Manu \ Documents \ electron-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:301) 在CompileMetadataResolver._getDependenciesMetadata(C:\ Users \ Manu \ Documents \ electron-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:10893) 在CompileMetadataResolver._getTypeMetadata(C:\ Users \ Manu \ Documents \ electron-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:10786) at CompileMetadataResolver.getNonNormalizedDirectiveMetadata(C:\ Users \ Manu \ Documents \ electron-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:10405) 在CompileMetadataResolver._getEntryComponentMetadata(C:\ Users \ Manu \ Documents \ electron-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:10989) 在C:\ Users \ Manu \ Documents \ electron-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:10638 在Array.map() 在CompileMetadataResolver.getNgModuleMetadata(C:\ Users \ Manu \ Documents \ electron-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:10638) 在CompileMetadataResolver.getNgModuleSummary(C:\ Users \ Manu \ Documents \ electron-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:10464) 在C:\ Users \ Manu \ Documents \ -electric-quick-start-master \ node_modules \ @angular \ compiler \ bundles \ compiler.umd.js:sourcemap:10551
答案 0 :(得分:0)
最后我可以解决它!
我添加了require(&#39; reflect-metadata&#39;); 在我的renderer.ts之上。
require('reflect-metadata');
let BrowserModule = require('@angular/platform-browser').BrowserModule;
let UpgradeModule = require('@angular/upgrade/static').UpgradeModule;
let NgbModule = require('@ng-bootstrap/ng-bootstrap').NgbModule;
将其置于其他地方并不能使其发挥作用。
经过一番调查后,我发现问题是由于JIT编译器在尝试加载ng-bootstrap模块时出现反射错误引起的。
我希望这可以帮助其他任何人。