Das Framework prüft die Definitionen und die Einrichtung, wenn du mount()
aufrufst. Ein Fehler stoppt das Mounten, da das Ergebnis falsch wäre;
alle Probleme werden gesammelt und auf einmal gemeldet. Eine Warnung geht
in die Browser-Konsole (oder an
onWarning), und die App läuft
weiter, da die Konfiguration nur wirkungslos oder verwirrend ist. Suche auf
dieser Seite nach dem Anfang einer Meldung, um sie zu finden. Die Meldungen
selbst sind englisch.
| Meldung, zum Beispiel |
Was zu tun ist |
Block "say": code elements "concept" and "python" use different placeholders (%1 vs %1, %2) |
Gib jedem Code-Element eines Blocks dieselben %N-Slots, sonst verschwindet ein Input, wenn das gezeigte Element wechselt |
Block "say": field token %NAME has no fields["NAME"] entry and the block has no onViewApplied behavior |
Deklariere das Feld in fields oder erzeuge es in onViewApplied |
Block "declare": element "java" uses %2:type, but %2 is not a value slot in it |
Lass %N:type auf einen Wert-Slot desselben Templates zeigen |
Block "repeat": inputSlots["1"].default.shadow: "number" is neither a defined block nor a registered Blockly block type. |
Nenne einen deiner Blöcke oder einen Blockly-Typ wie math_number |
Block "say": unknown shape "line". |
Nimm eine Form aus der Liste in der Meldung |
Block "say": inputSlots["1"] has unknown kind "values". |
Nimm value oder statement |
Block "say": fields["COLOR"] has unknown type "colour". |
Nimm dropdown, text, number oder checkbox |
Block "pen": fields["COLOR"] option "red" has an image label without "src" or "color". |
Gib dem Bild ein src oder eine color |
elementTypes."icon": unknown type "picture". |
Nimm text, code, image oder custom |
elementTypes declares "default", which is reserved |
Benenne das Element um; default heißt das Ersatz-Template eines Blocks |
Mode "python-tiles": render.python must be "block-based" or "text-based". |
Nimm einen der beiden Werte |
Preset "text-preset": unknown mode "python-text" for the toolbox. |
Nenne einen Mode aus modes |
Preset "text-preset": view "text-pane" shows "python-tiles", which is no code element. |
Ein View zeigt ein Code-Element (python), ein Mode ist für Kacheln |
Preset "text-preset": "views" must name at least one view. |
Führe die Views auf, die das Preset zeigt |
Preset "text-preset" is defined more than once. |
Gib jedem Preset einen eigenen Namen |
| Meldung, zum Beispiel |
Was zu tun ist |
MorphicBlocks.mount needs a container for at least one view. |
Übergib containers (oder workspaceContainer / codespaceContainer) |
mount: a container for "editor", but no view of that name. |
Nimm einen Namen aus views oder deklariere den View |
View "read-pane": unknown kind "text". |
Nimm workspace oder codespace |
MorphicBlocks.mount: unknown preset "start". |
Nenne ein Preset aus presets |
show: no view named "editor"., addView: a view named "read-pane" already exists. |
Nimm den Namen eines eingerichteten Views oder einen neuen für einen hinzugefügten |
Eine Einstellung an ihrem Platz aus einer älteren Version scheitert mit dem
neuen Platz in der Meldung:
| Meldung, zum Beispiel |
Seit |
mount option "previewContainer" moved in 0.4.0: … (auch previewTheme, toolbarContainers, codespace) |
0.4.0 |
Preset "text": "workspace", "codespace" moved into "views" in 0.4.0 |
0.4.0 |
Preset "text": the toolbox entry is a mode name since 0.4.0, and its "render" moved into the mode |
0.4.0 |
Mode "python-tiles": render "text" is now "text-based" |
0.4.0 |
setModes was replaced by show() in 0.4.0 |
0.4.0 |
elementTypes."python": "stringQuote" moved into the "code" section (auch empty, ein highlighting auf oberster Ebene) |
0.3.0 |
| Meldung, zum Beispiel |
Was zu tun ist |
Name "python" is used as element and view |
Gib jeder Art einen eigenen Namen; siehe Namen |
Name "blocks" (mode) is a Morphic Blocks word |
Benenne es nach dem, was es in deiner App ist, etwa concept-tiles |
Name "my pane" (view) has characters a CSS class cannot hold; its classes use "my-pane". |
Nimm Buchstaben, Ziffern, - und _, oder schreib den geänderten Namen in dein CSS |
Block "say": placeholder %2 has no inputSlots["2"] entry |
Füge den Slot hinzu, damit Behaviors seinen Input per Namen lesen |
Block "say": inputSlots["2"] has no matching %2 placeholder |
Entferne den Slot oder füge %2 zu den Templates hinzu |
Block "say": fields["NAME"] has no matching %NAME token |
Entferne das Feld oder füge %NAME zu einem Template hinzu |
Block "say": element "javascript" is not declared in elementTypes |
Deklariere den Typ des Elements |
Mode "icon-tiles": element "picture" is not declared in elementTypes |
Deklariere es oder nimm es aus dem Mode |
Mode "icon-tiles": render.pyton names no code element |
Korrigiere den Element-Namen |
Block "say": category "Ouput" is not declared in categories |
Korrigiere den Namen oder deklariere die Kategorie |
Block "say": shape "statement" contradicts its flags |
Entferne die Flags oder die Form; die Flags gewinnen |
Block "pen": fields["OP"] option "and" has display for "title", which is not a code element |
Schlüssel display nach Code-Elementen |
code["title"] is not a code element |
Verschiebe die Einstellungen zu einem Code-Element |
elementTypes."title": "size" applies only to image elements |
Entferne size |
Preset "text-preset" names "read-pane", which is no declared view |
Deklariere den View oder füge ihn mit addView() hinzu, bevor das Preset greift |
| Meldung, zum Beispiel |
Was zu tun ist |
Modes without explicit CSS definition: icon-tiles. |
Gib dem Mode ein Stylesheet (modesFolder oder modeStyles) |
Blockly's media is missing at "blockly-media/" |
Kopiere es mit dem Bundler-Plugin oder dem Skript |
The custom element "info" has no function in toolbox.custom |
Füge die Funktion des Elements zu toolbox.custom hinzu |
The toolbox layout "tabs" needs categories |
Gib der Toolbox Kategorien oder nimm das gestapelte Layout |
Um die Prüfungen der Definitionen selbst auszuführen, vor dem Mounten (in
einem Test oder Build-Schritt), rufe validateDefinitions(...) auf; es gibt
{ errors, warnings } zurück, statt zu werfen.