Je suis très (très) nouveau dans les technologies frontend, spécialement react et dactylographié.
Mon problème vient quand j'essaye de faire une chose simple qui est d'utiliser un composant de réaction https://github.com/ckeditor/ckeditor5
Je suis donc allé aux exemples et j'ai trouvé ceci:
https://github.com/ckeditor/ckeditor5- react-example / blob / master / package.jsonJ'essaie d'inclure le ckeditor avec le module ClassicEditor p >
J'ai donc ajouté ceci sur mon package.json
import CKEditor from '@ckeditor/ckeditor5-react'; // NOTE: We use editor from source (not a build)! import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
et j'ai vérifié l'implémentation ici https://github.com/ckeditor/ckeditor5-react-example/blob/master/src/App.js
J'ai besoin d'importer la définition du module pour dactylographié (je suppose)
"@ckeditor/ckeditor5-editor-classic": "^12.0.0", "@ckeditor/ckeditor5-essentials": "^11.0.0", "@ckeditor/ckeditor5-paragraph": "^11.0.0", "@ckeditor/ckeditor5-react": "^1.1.2",
Donc, cette partie a cette note étrange, mais il arrive que cela ne fonctionne pas dans mon projet (dit qu'il manque et ne peut pas le trouver)
Toute idée de ce que je pourrais faire d'autre l'ajouter? J'ai essayé de supprimer la partie / src / classiceditor
mais il manque toujours.
J'ai fait une installation npm
et je peux voir le code classiceditor ici avec package.json et plus ... le dossier / src / classiceditor existe en fait node_modules avec /@ckeditor/ckeditor5-editor-classic/src/classiceditor.js
p>
Une idée de ce qui me manque?
3 Réponses :
Il semble que @ ckeditor / ckeditor5-react ne fournit aucun type et n'est pas saisi dans DefinatelyTyped , vous ne pouvez donc pas l'utiliser aussi facilement avec un script dactylographié.
Si vous voulez utiliser @ ckeditor / ckeditor5-react code> avec les types, vous devrez le taper vous-même.
Exemple pour cela:
dans votre projet, déclarez un fichier types / @ ckeditor / ckeditor5-react / index.d.ts
.
Dans ce fichier, ajoutez ce type (très incomplet):
export function UseCKE() { return <Ckeditor disabled={true}/>; }
De cette façon, vous pourrez utiliser CKeditor dans votre application de réaction de cette façon:
declare module '@ckeditor/ckeditor5-react' { export default class Ckeditor extends React.Component { constructor({disabled}: {disabled?: boolean}) // this part needs to be fullfilled with your needs } }
J'ajouterai un petit exemple dans la réponse sous peu
@ jpganz18: exemple ajouté
Merci pour la mise à jour, suite à votre idée, j'ai ajouté un fichier avec ce module de déclaration '@ ckeditor / ckeditor5-build-classic' {const ClassicEditorBuildLocal: any; export = ClassicEditorBuildLocal; } mais lors de l'ajout de ClassicEditorBuildLocal j'obtiens toujours l'erreur .... CkEditor est déjà importé (et fonctionne) mais le manquant est seulement le ckeditor5-build-classic ... qu'est-ce que je pourrais manquer? l'erreur que j'obtiens est que je ne peux pas résoudre '@ ckeditor / ckeditor5-build-classic'
pour toute autre personne ayant le même problème, vous essayez également de déclarer un fichier types/@ckeditor/index.d.ts et d'ajouter le contenu suivant
declare module '@ckeditor/*' { const classes: any; export default classes; }
la réponse acceptée n'a pas fonctionné pour moi lorsque vous traitez avec @ckeditor/ckeditor5-build-classic
Pour ceux qui recherchent toujours une meilleure solution, j'ai trouvé cette solution sur Github .
vous devez créer le fichier ./types/ckeditor/index.d.ts
et écrire dans
declare module '@ckeditor/ckeditor5-react'; declare module '@ckeditor/ckeditor5-build-classic';
p >