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

How to import 'bootstrap-datetimepicker' into Aurelia project

我正在尝试将 'Eonasdan/bootstrap-datetimepicker' 添加到 Aurelia with typescript 项目中,并在 Aurelia 生命周期的 "attached" 方法中调用 this.birthDateDatePicker.datetimepicker();

我补充了:

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

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

GET http://127.0.0.1:8080/jquery.js 404 (Not Found)

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

我做错了什么?

编辑:

image with more info

那一行的错误是

"Unhandled promise rejection TypeError: this.birthDateDatePicker.datetimepicker is not a function"

解决方案:

我添加了以下导入:

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

并在config.js休闲地图中手动添加:

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

Comment/Question:我不确定手动将它添加到那里是否是个好主意,但我无法像在框架应用程序中那样从 bootstrap 使用它,我看到它存在于package.json 文件的全局依赖项,并在 "jspm_packages/github/components".

下找到它

这是正确的方法吗?

谢谢

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

import $ from 'bootstrap';

已编辑: 还使用 import 'Eonasdan/bootstrap-datetimepicker'; 将 datetimepicker 作为 jquery 模块添加到 globals

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

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

尝试以下方法之一:

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

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