4

我想在我的应用程序中包含 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
4

2 回答 2

1

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

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

我正在使用 system.js 和映射,而没有 moment.js 为我做这件事。

于 2016-10-08T02:56:08.310 回答
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'
      }

    }
于 2017-01-17T17:25:31.003 回答