'GraphObject.make requires a class function or GoJS class name or name of an object builder, not: undefined
I'm following the tutorial of the library go.js: https://www.youtube.com/watch?v=EyseUD_i6Dw&list=PLOiCuGu6tcUSvKsqFnemvGTfdT97wVLsX&index=3.
I reached this point without problems, but at this point I'm getting this error:
GraphObject.make requires a class function or GoJS class name or name of an object builder, not: undefined
This is my code:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test</title>
<script src="https://unpkg.com/[email protected]/release/go.js"></script>
<script>
function init() {
var $ = go.GraphObject.make;
myDiagram = $(go.Diagram, "myDiagramDiv");
myDiagram.add(
$(go.Part, "Position",
$(go.Shape, "RoundedRectangle", {fill: "white"}),
$(go.textBlock, "some text")
)
);
}
</script>
</head>
<body onload="init()">
<div id="myDiagramDiv" style="height: 400px; width: 400px; border: 1px solid black;"></div>
</body>
</html>
Does anyone know where is the problem? Some version issue perhaps? I've tried with different versions of go.js, but I get always the same problem.
Solution 1:[1]
You have misspelled go.TextBlock (you wrote go.textBlock)
By the way, in 2.2 (which was released after those videos were made), GoJS has a new way of constructing objects that looks like this:
function init() {
myDiagram = new go.Diagram("myDiagramDiv");
myDiagram.add(
new go.Part("Position")
.add(new go.Shape("RoundedRectangle", {fill: "white"}))
.add(new go.TextBlock("some text"))
);
}
This method chaining like new go.Part().add(someObject).add(anotherObject) allows you to write code that is concise like GraphObject.make, but the errors are more clear. In the case of your typo, instead you would see:
Uncaught TypeError: go.textBlock is not a constructor
And it would point out the specific line:

Ro read more about method chaining instead of using GraphObject.make, see:
https://gojs.net/latest/changelog.html
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Simon Sarris |
