如何使用ng2-datepicker for angular 2 app

时间:2016-10-04 06:08:26

标签: angular datepicker ng2-datepicker

我想在我的应用程序中包含ng2-datepicker模块。我尝试按照自述文件中的说法进行操作。

npm install ng2-datepicker --save

将systemjs.config.js文件修改为:

.map {
 'ng2-datepicker': 'npm:ng2-datepicker',
       'moment': 'npm:moment/moment.js'
}
  'ng2-datepicker': {
          format: 'register',
        defaultExtension: 'js'
      }

在index.html中添加以下行:

<script src="node_modules/moment/moment.js"></script>

在app.module.ts中添加以下行

  import { DatePicker } from 'ng2-datepicker/ng2-datepicker';
declarations: [ AppComponent ,
                DatePicker]

加载应用程序时出现以下错误:

Error: ReferenceError: require is not defined
        at eval (http://localhost:3000/node_modules/ng2-datepicker/ng2-datepicker.js:2:24)
        at eval (http://localhost:3000/node_modules/ng2-datepicker/ng2-datepicker.js:7:3)
        at ZoneDelegate.invoke (http://localhost:3000/node_modules/zone.js/dist/zone.js:203:28)     
           Evaluating http://localhost:3000/node_modules/ng2-datepicker/ng2-datepicker.js   
           Error loading http://localhost:3000/node_modules/ng2-datepicker/ng2-datepicker.js as "ng2-datepicker/ng2-datepicker" from http://localhost:3000/app/app.module.js

2 个答案:

答案 0 :(得分:1)

我可能会使用不同的编译器。 但就我而言,这是我的地图定义:

var map = {
   ...
   'ng2-datepicker':               'app-ui/node_modules/ng2-datepicker',
   'moment':                       'app-ui/node_modules/moment',
   ... 
};

我正在使用system.js和映射而没有使用moment.js为我做了。

答案 1 :(得分:0)

// systemjs.config.js中的更改

    map: {
// our app is within the app folder
          app: 'app',
          'angular2-moment': 'npm:angular2-moment',
          'moment': 'npm:moment',
          'ng2-slimscroll': 'npm:ng2-slimscroll',
          'ng2-datepicker': 'npm:ng2-datepicker',
        }

// packages tells the System loader how to load when no filename and/or no extension
    packages: {
      'angular2-moment': {
        main: './index.js',
        defaultExtension: 'js'
      },
      'moment': {
        main: './moment.js',
        defaultExtension: 'js'
      },
      'ng2-slimscroll': {
        main: './ng2-slimscroll.js',
        defaultExtension: 'js'
      },
      'ng2-datepicker': {
        // format: 'register',
        main: './ng2-datepicker.js',
        defaultExtension: 'js'
      }

    }