0

我对 Angular 2 还很陌生,我正在尝试完全了解如何使用外部库,特别是 Bootstrap 模式。

按照https://www.npmjs.com/package/ng2-bootstrap-modal的说明,我运行了以下命令:

npm install ng2-bootstrap-modal

在我的 index.html 中,我已验证我具有以下内容:

  <!--Bootstrap CSS-->
  <link rel="stylesheet" href="Content/bootstrap.min.css">

该模块在 app.module.ts 中导入:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { Router } from '@angular/router';

// Custom Components
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { NavbarComponent } from './navbar/index';
import { ProjectComponent, ProjectService } from './project/index';
import { AccomplishmentComponent, AccomplishmentService } from './accomplishment/index';
import { OptionService } from './option/index';
import { HomeComponent } from './home/index';
import { LoadingComponent } from './loading/index';

import { ProjectPipe } from './project/project.pipe';
import { BootstrapModalModule } from 'ng2-bootstrap-modal';

@NgModule({
    imports: [ BrowserModule, FormsModule, HttpModule, AppRoutingModule, BootstrapModalModule ],
    declarations: [ AppComponent, ProjectComponent, NavbarComponent, HomeComponent, AccomplishmentComponent, LoadingComponent, ProjectPipe ],
    providers: [ ProjectService, OptionService, AccomplishmentService ],
    bootstrap: [ AppComponent ]
})

export class AppModule {
  // Diagnostic only: inspect router configuration
  constructor(router: Router) {
    console.log('Routes: ', JSON.stringify(router.config, undefined, 2));
  }
}

为什么我得到以下信息?

GET http://localhost:3000/ng2-bootstrap-modal 404 (Not Found)

在我的 system.config.js 中究竟需要做什么,目前看起来像:

/**
 * System configuration for Angular samples
 * Adjust as necessary for your application needs.
 */
(function (global) {

  System.config({
    paths: {
      // paths serve as alias
      'npm:': 'node_modules/'
    },
    // map tells the System loader where to look for things
    map: {
      // our app is within the app folder
      app: 'app',

      // angular bundles
      '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
      '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
      '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
      '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
      '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
      '@angular/http': 'npm:@angular/http/bundles/http.umd.js',
      '@angular/router': 'npm:@angular/router/bundles/router.umd.js',
      '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',

      // other libraries
      'rxjs': 'npm:rxjs',
      'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js'
    },

    // packages tells the System loader how to load when no filename and/or no extension
    packages: {
      app: {
        main: './main.js',
        defaultExtension: 'js'
      },
      rxjs: {
        defaultExtension: 'js'
      }
    }
  });

  // Load "./app/main.ts" (gets full path from package configuration above).
  // --
  // NOTE: We are attaching the resultant promise to the global scope so that other
  // scripts may listen for the successful loading of the application.
  this.bootstrapping = System
    .import("app")
    .then(
      function handleResolve() {
        console.info("System.js successfully bootstrapped app.");
      },
      function handleReject(error) {
        console.warn("System.js could not bootstrap the app.");
        console.error(error);
        return (Promise.reject(error));
      }
    );

})(this);

非常感谢所有的帮助!

4

1 回答 1

0

将这些添加到您的地图部分下的system.config.js

'moment':         'node_modules/moment',
'ng2-bootstrap':  'node_modules/ng2-bootstrap',

并在部分

'ng2-bootstrap':              { format: 'cjs', main: 'bundles/ng2-bootstrap.umd.js', defaultExtension: 'js' },
    'moment':                     { main: 'moment.js', defaultExtension: 'js' },

现场演示

于 2017-03-10T02:13:02.577 回答