# Loading Components by Hand in NodeJS

**This page is still under construction.**

In a node application, you can load components individually yourself
via node’s `require()`

command, rather than relying on MathJax
loader, which operates asynchronously. This gives
you the ability to work with MathJax synchronously (i.e., without the
need to use promises). It also gives you more complete control over
the loading of components, though in this case you do need to take
care to load dependencies yourself, and to make sure the components
are loaded in the right order.

This approach lets you take advantage of using the convenient
packaging of MathJax into individual components, the configuration of
MathJax through the global `MathJax`

variable, and its automatic
creation of objects and methods by the startup
component, while still allowing you to work completely synchronously
with the MathJax code. (Or you can still use promises as well —
it’s up to you!)

See the MathJax node demos for examples of how to use MathJax from a node application. in particular, see the preloading examples for illustrations of how to load MathJax components by hand in a node application.

More information will be coming to this section in the future.