fullcalendar & Angular 5
(Новое редактирование)
Я реализовал Angluar 5 с FullCalendar @Alpha Release.
Ранее у меня были проблемы с реализацией FullCalendar для Angular ниже. Я думал, что вы, ребята, возможно, захотите обновления.
Как правильно реализовать fullcalendar с Angular 5 без ошибок? Я пытаюсь внедрить его в конкретный компонент. Я установил следующие пакеты
- JQuery
- момент
- fullcalendar
- fullcalendar-планировщик
К вашему сведению, нижеприведенный пост является самым близким к тому, что я нашел, чтобы найти решение. Я следовал инструкции, но все равно получаю ошибку "JQueryPromise". Пожалуйста, сообщите и спасибо заранее!
Угловая функция обратного вызова из события jquery
package.json
"fullcalendar": "^3.8.0",
"fullcalendar-scheduler": "^1.9.1",
"jquery": "^3.2.1",
"moment": "^2.20.1",
.angular-cli.json
"styles": [
"styles.css",
"../node_modules/fullcalendar/dist/fullcalendar.min.css",
"../node_modules/fullcalendar-scheduler/dist/scheduler.min.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/moment/min/moment.min.js",
"../node_modules/fullcalendar/dist/fullcalendar.min.js",
"../node_modules/fullcalendar-scheduler/dist/scheduler.min.js"
],
main.ts
import * as jQuery from "jquery";
(window as any).$ = (window as any).jQuery = jQuery;
app.component.html
<div id='calendar'></div>
app.component.ts
import { Component } from '@angular/core';
import 'fullcalendar';
import 'fullcalendar-scheduler';
declare let $: any;
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
ngOnInit() {
$('#calendar').fullCalendar({});
}
}
Я неукоснительно следовал всем шагам, но все еще получаю ошибку. По иронии судьбы, он может загружаться, когда я обновляю страницу, и я могу обойти эту ошибку, но она все еще сохраняется, особенно когда я впервые запускаю 'ng serve'
ERROR in node_modules/fullcalendar/dist/fullcalendar.d.ts(695,36): error TS2304: Cannot find name 'JQueryPromise'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(696,29): error TS2304: Cannot find name 'JQueryPromise'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(697,20): error TS2304: Cannot find name 'JQueryPromise'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(759,22): error TS2304: Cannot find name 'JQueryPromise'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(775,50): error TS2304: Cannot find name 'JQueryPromise'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(988,23): error TS2304: Cannot find name 'JQueryEventObject'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(1401,70): error TS2304: Cannot find name 'JQueryAjaxSettings'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(1603,50): error TS2304: Cannot find name 'JQueryPromise'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(1623,50): error TS2304: Cannot find name 'JQueryPromise'.
node_modules/fullcalendar/dist/fullcalendar.d.ts(2588,50): error TS2304: Cannot find name 'JQueryPromise'.
Новая разработка по этой кроличьей норе
Просто попытался создать новый компонент "schedule.component" и переместить все туда, но теперь я получаю следующие ошибки
Refused to load the font 'data:font/woff;base64,d09GRgABAAAAAGVUABEAAAAAxuQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABgAAAAC4AAAA0ArgC7UdQT1MAAAGwAAAQ6AAALgxKsqRTR1NVQgAAEpgAAAH3AAAELqI5y+RPUy8yAAAUkAAAAE8AAABgaGyBu2NtYXAAABTgAAABlAAAAkQkRATXY3Z0IAAAFnQAAABeAAAAugDsQf1mcGdtAAAW1AAABZcAAAvNb3/BHGdhc3AAABxsAAAACAAAAAgAAAAQZ2x5ZgAAHHQAAEApAAB3CtbiupxoZWFkAABcoAAAADYAAAA2BkubWWhoZWEAAFzYAAAAIAAAACQHFARfaG10eAAAXPgAAAI6AAAEEk4TN4Nsb2NhAABfNAAAAhIAAAISiLhpam1heHAAAGFIAAAAIAAAACACigzgbmFtZQAAYWgAAACUAAABHhQGLdJwb3N0AABh/AAAAq4AAASRk5y6n3ByZ...QxUajCCFt4p9HP4fzdSWs2XhWl5HvJazrIrFUyB0l5dpqcW10lV2wukjMLuAvyMHNiYpgPsrCVXZDKrkpll6UWkh7kABVAFVCDe7UFmxagDegA+hLHRPbqtMo7ZHCpKdT6tPGXybzo0+RXBLoPZt1tELcXxCmAAyZwYTJvdDFZKnDER44X2451rDqCyunIsRWvLSx6wnWqwPj/uX5/KuEy6DL0z6A/Fn79VihxMFJsrlAFy4DpZOcvNlMeNp+BRDLj0r+XFdRxdSNSNxiI/AL3ojKdAAB4AWPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGdictkUwWDAwsDJogTgOPN4c9iz6bMos4iysHFChUDZXJnMWTSZZJrAQt9M+YQYBBh4GTgY2kEZOoJiA0z4GBxiEiDEzuGxUYewIjNjg0BGxkTnFZaMaiLeLo4GBkcWhIzkkAqQkEggceHw5HFkM2VRZJFlYebR2MP5v3cDSu5GJwWUDW9xG1hQXAFAmKZU=' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'font-src' was not explicitly set, so 'default-src' is used as a fallback.
3 ответа
Проблема, с которой вы столкнулись, теперь устранена благодаря проблеме GitHub, которую вы подняли.
Я верю бегу npm install --save-dev @types/jquery
правильно исправит эту проблему, так как я столкнулся с той же проблемой, и выполнение этого сделало свое дело (после того, как я нашел этот пост и ссылку на проблему GitHub).
Процитируем исправление на GitHub: "Теперь это учтено в документации: https://fullcalendar.io/docs/typescript/".
Ваш проект не содержит JQuery. Попробуйте добавить их с помощью этой команды
npm install --save-dev @types/jquery@3.2.7
Эта проблема была поднята в трекере с полным календарем ( https://github.com/fullcalendar/fullcalendar/issues/3991)
Похоже, что-то не так в файлах *.d.ts в папке node_modules. Я открыл вопрос в проекте GitHub
https://github.com/fullcalendar/fullcalendar/issues/3991
Я заменил соответствующий тип проблем на "любой":
node_modules / fullcalendar / расстояние / fullcalendar.d.ts
node_modules / fullcalendar-планировщик / расстояние / scheduler.d.ts
'JQueryPromise'
'JQueryEventObject'
'JQueryAjaxSettings'
По иронии судьбы, после исправления этой проблемы у меня больше не возникает проблема "Отказаться от загрузки шрифта". Не могу прокомментировать это. Все, что я знаю, это то, что он работает так, как должен.
Счастливых праздников!
Привет, я знаю, что это старый вопрос, но это npm install --save-dev @types/jquery
не работает для меня Более быстрое решение было:
- Откройте Управление пакетами NuGet для решения (визуальная опция диспетчера пакетов) по адресу
Tools>NuGet Package Manager> Manage NuGet Packages for Solution
- Напишите в поле поиска:
jquery.type
- Найти пакет jquery.TypeScript.DefiniteTyped
- Установить внутри вашего веб-проекта
- решаемая
Я надеюсь, что это, возможно, помогло тем, кто был в той же ситуации, что и я.