如何在angular2-meteor1.3项目中使用ng2-bootstrap?

How to use ng2-bootstrap in angular2-meteor1.3 project?

对于一个新项目,我在终端中有 运行 个

npm init

meteor add angular2-compilers

meteor remove blaze-html-templates

meteor npm install --save angular2-meteor

meteor npm install --save meteor-node-stubs

meteor npm install --save bootstrap4-webpack-package

meteor npm install --save ng2-bootstrap

import 'reflect-metadata';
import 'zone.js/dist/zone';
import 'bootstrap4-webpack-package';
import { Component } from 'angular2/core';
import { bootstrap } from 'angular2/platform/browser';
import { Alert } from 'ng2-bootstrap/ng2-bootstrap';

@Component({
  selector: 'app',
  template: `<alert type="info">ng2-bootstrap hello world!</alert>`,
  directives: [Alert]
})
class App { }
bootstrap(App);

现在 bootstrap4-webpack-package 使 Bootstrap 4 有效,但 ng2-bootstrap 仍然无效。

由于我用的是Bootstrap4,所以我也尝试添加

import { Ng2BootstrapConfig, Ng2BootstrapTheme } from 'ng2-bootstrap/ng2-bootstrap';
Ng2BootstrapConfig.theme = Ng2BootstrapTheme.BS4;

但还是不行。

显示错误:

EXCEPTION: No Directive annotation found on Alert

EXCEPTION: Error: Uncaught (in promise): No Directive annotation found on Alert

我不确定这是否与此issue有关。

如何使用 ng2-bootstrap?谢谢

最后发现是我的NPM问题。因为代码在别人的机器上可以运行很好

我卸载了我的 NPM,并安装了新的 v5.10.1,问题修复了!

查看 here 了解详情。

希望这可以帮助遇到类似奇怪问题的人。