如何导入' bootstrap-datetimepicker'进入Aurelia项目

时间:2016-01-25 15:44:16

标签: javascript aurelia systemjs jspm bootstrap-datetimepicker

我试图添加' Eonasdan / bootstrap-datetimepicker'使用typescript项目进入Aurelia并在"附加"中调用this.birthDateDatePicker.datetimepicker();来自Aurelia生命周期的方法。

我补充说:

import $ from 'jquery'; 
import {datepicker} from 'Eonasdan/bootstrap-datetimepicker';

并且没有错误, 但是当我尝试像这样注入@inject(HttpClient, json, datepicker)时,我收到以下错误:

  

获取http://127.0.0.1:8080/jquery.js 404(未找到)

我不确定这两个库是否已加载,因为我无法在浏览器调试器的源代码中找到它们。

我做错了什么?

编辑:

image with more info

该行的错误是

  

"未处理的承诺拒绝TypeError:   this.birthDateDatePicker.datetimepicker不是函数"

解决方案:

我已添加以下导入:

import $ from 'jquery';
import 'Eonasdan/bootstrap-datetimepicker';

并在config.js中手动添加了以下地图:

"jquery":"github:components/jquery@2.2.0",

评论/问题:我不确定在那里手动添加它是否是一个好主意但是我无法像在骨架应用程序中那样在引导程序中使用它,我看到它存在于全局依赖项中package.json文件,在" jspm_packages / github / components"下找到它。

这是正确的做法吗?

由于

2 个答案:

答案 0 :(得分:3)

啊哈,当我们在gitter聊天时,我不清楚你在做什么。我想我现在看到了这个问题......

bootstrap-datetimepicker是一个jQuery插件,加载模块会在jquery中安装插件的功能。它可能不会导出任何东西。如果它确实导出了某些东西,它应该是jquery对象。

尝试以下方法之一:

import $ from 'Eonasdan/bootstrap-datetimepicker';
import $ from 'jquery';
import 'Eonasdan/bootstrap-datetimepicker';

在任何这些情况下,都不需要涉及依赖注入(@inject等)。直接使用$变量。

答案 1 :(得分:0)

如果你使用aurelia-skeleton作为样板

import $ from 'bootstrap';

EDITED: 还可以使用import 'Eonasdan/bootstrap-datetimepicker';将datetimepicker作为jquery模块添加到globals