【发布时间】:2017-10-11 22:22:26
【问题描述】:
我正在运行一个 Angular4 平均应用程序,我想使用 PrimeNG Schedule 在日历中显示事件。时间表建立在FullCalendar 之上,它又需要 jQuery 和 Moment.js 才能工作。我使用了 ap-ng2-fullcalendar 版本,因为它与 Angular4 更兼容。
所以我用 npm 安装了 jQuery、Moment、FullCalendar 和 primeNG Scedule。
我已将这些导入放在 app.module.ts 中
import {CalendarModule} from "ap-angular2-fullcalendar";
import {ScheduleModule} from 'primeng/components/schedule/schedule';
(在导入中:[...])
并且在 html 组件中有这个(PrimeNG 指令):
<p-schedule [events]="projects"></p-schedule>
但是当我运行项目时出现错误:
ERROR ReferenceError: jQuery is not defined
如何在我的应用程序中获取 jQuery(和 Moment)?我可以将 jquery.js 文件从 node_module/jquery/dist 复制到我的公共文件夹,然后将其添加到 html 中,如下所示:
<script src="/js/plugins/jquery.js"></script>
但这可能不是正确的方法,然后我在运行项目时得到了这个:
TypeError: this.schedule.fullCalendar is not a function
我认为我的项目中缺少一些 js 文件,并且 jQuery 和 Moment 需要一些手动导入,但不知道如何。 注意:我使用 webpack。
谢谢!
【问题讨论】:
-
有几种方法可以做到这一点。你应该看看angular-cli-wiki on global scripts。这应该会让你对如何做你想做的事情有所了解。
-
你在使用 Angular CLI 吗?
-
不,我没有使用 CLI,我使用 typescript 和 webpack。我想我现在明白了,这是github.com/moment/moment/issues/4228 的一个错误,我对如何导入没有 TypeScript(类型)定义的第 3 方库存在一些误解。 ap-ng2-fullcalendar 模块实际上巧妙地使 FullCalendar 在像我这样的设置中可访问。 youtube.com/watch?v=qWSPog9Fz-o 也有助于理解这一切
标签: angular fullcalendar mean-stack primeng