我想在我的应用程序中包含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
答案 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'
}
}