11

ng2-bootstrap をインポートできません

レイアウト.ジェイド

html
 head
title Angular 2 QuickStart
// 1. Load libraries

script(src="/node_modules/angular2/bundles/angular2-polyfills.js")
script(src="/node_modules/systemjs/dist/system.src.js")
//script(src="/node_modules/ng2-bootstrap/ng2-bootstrap.js")
script(src="/node_modules/rxjs/bundles/Rx.js")
script(src="/node_modules/angular2/bundles/angular2.dev.js")

// 2. Configure SystemJS
script.
  System.config({
      packages: {
         app: {
            //format: 'register',
            //defaultExtension: 'js',
            defaultJSExtensions: true
        }
      },
          paths: {
          'ng2-bootstrap/*': 'node_modules/ng2-bootstrap/*.js'
          }
  });
  System.import('app/boot')
  .then(null, console.error.bind(console));
// 3. Display the application
body
    my-app Loading...

特急

 app.use('/node_modules', express.static(__dirname + '/node_modules'));

app.component.ts

 //import "ng2-bootstrap/ng2-bootstrap";

   import {Component} from 'angular2/core';
   import {Alert} from 'ng2-bootstrap/ng2-bootstrap';
   import {firstComponent} from './component/first.component';

   @Component({
     //directives: [Alert],
      directives: [firstComponent,Alert],
      selector: 'my-app',
      template: `
        <h1>My First Angular 2 App</h1>
        <h2> helllo</h2>
        <first></first>
        <alert type="info">ng2-bootstrap hello!</alert>
        `
    })
    export class AppComponent { }

エラーコンソール

GET http://localhost:3000/node_modules/ng2-bootstrap/components/accordion/accordion 404 (見つかりません)
エラー: XHR エラー (404 Not Found) http://localhost:3000/node_modules/ng2- の読み込み中

また、それと同じエラーがさらに発生します: コンポーネントをインポートできませんか?

4

7 に答える 7

7

私自身も同じ問題を抱えていて、このリンクが役立つことがわかりました: https://github.com/valor-software/ng2-bootstrap/issues/50#issuecomment-165448962

最も関連性の高いコードのスニペット:

System.JS 構成:

System.config({
   packages: {
     "app": {
        "defaultExtension": "js"
     },
     "node_modules/ng2-bootstrap": {
        "defaultExtension": "js"
     }
  },
  paths: {
    "ng2-bootstrap":   "node_modules/ng2-bootstrap"
  }
});

次に、次のように簡単にインポートできます。

import { Progressbar } from "ng2-bootstrap";
@Component({
    selector: "my-app",
    directives: [
        Progressbar
    ],
    template: "<progressbar></progressbar>" 
})

私と同じように、これがあなたのお役に立てば幸いです。

于 2015-12-31T13:05:29.690 に答える
7

これは私にとってはうまくいきました。systemjs.config ファイルの下:

map: {
'ng2-bootstrap': 'node_modules/ng2-bootstrap/bundles/ng2-bootstrap.umd.js',
       'moment': 'node_modules/moment/moment.js'
    }

ng2-bootstrap は瞬間をインポートしているため、「瞬間」について言及する必要があります。

app.modules では、次のようにします。

import {DatepickerModule} from 'ng2-bootstrap';

また、次のこともできます。

@NgModule({
    imports: [
        ....,
        ....,
        DatepickerModule
    ],
    declarations: [...],
    providers: [...],
    bootstrap: [AppComponent]
})
于 2016-11-15T22:53:56.390 に答える
2

現在の回答は満足のいくものではないと思います。なぜなら、それらは症状と闘い、根底にある問題を解決していないからです.

これを解決するために私がしたこと:

System.config({
    baseURL: '/node_modules',
    "defaultJSExtensions": true,
    map: {
      app: '/app/'
    }
    paths: {
      "moment":   "moment/moment"
    }
  });

行 1:node_modulesベース URL を設定したので、パッケージごとにすべてのインポートを書き直す必要はありません。

行 2: 次に、systemjs にデフォルトで JS ファイルを探すように指示します。

行 3 ~ 5: app で始まるすべてのものを app ディレクトリにマップします。そのため、SystemJs は /node_modules フォルダーで自分のファイルを見つけようとしません。

終了した。

行 6 ~ 7 で、SystemJS が /node_modules/ から直接 momentjs をロードしようとしたときに 1 つの「バグ修正」を行う必要があったため、独自のディレクトリに設定しました。変..

于 2016-02-11T21:33:08.973 に答える
1

angular-cli 2.4.7 (webpack) の最新バージョンを使用しており、動作させることができました。

これをAngularアプリで実行します

npm install ng2-bootstrap bootstrap moment --save

次のファイルを開き、リストに従って追加します

スタイル配列に新しいエントリを挿入します

  # angular-cli.json
  "styles": [
        "styles.css",
        "../node_modules/bootstrap/dist/css/bootstrap.min.css"
      ]

目的のモジュールをインポートする

# src/app/app.module.ts
...
import { DatepickerModule } from 'ng2-bootstrap';
...
@NgModule({
....
,
  imports: [
DatepickerModule.forRoot(),
...
]
...})

そして、あなたは行ってもいいです!

于 2017-02-24T16:35:50.010 に答える
0
                        **>-------- NG2BOOTSTRAP--------->**

これらのコマンドを使用して、これらの依存関係を package.json に追加します

  1. npm インストールの瞬間 --save
  2. npm install ng2-bootstrap --save

System.config.js を次のコードに変更します。これは、このマップがシステム ローダーにコードを探す場所を伝えるためです。

var map = {
    'app':                        'app', // 'dist',
    '@angular':                   'node_modules/@angular',
     moment:              'node_modules/moment/moment.js',
    'ng2-bootstrap':              'node_modules/ng2-bootstrap',
  };

var packages = {
    'app':                        { main: 'main.js',    defaultExtension: 'js' },
    'ng2-bootstrap':          {defaultExtension: 'js' }
  };

Bootstrap を index.html に追加します。 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

App.module.ts import { Ng2BootstrapModule } from 'ng2-bootstrap/ng2-bootstrap'; そして、@NgModule のインポートに Ng2BootstrapModule を追加します。

次に、U は ng2Bootstrap を使用するのに適しています。

于 2016-11-01T05:41:05.970 に答える