These should help you get started.
(docs.nodebb.org)
A starter kit for quickly creating NodeBB plugins. - GitHub - NodeBB/nodebb-plugin-quickstart: A starter kit for quickly creating NodeBB plugins.
faviconGitHub (github.com)
I'm working on a public plugin for integrating the ExclServer game management system into NodeBB.
The plugin has a number of different custom pages, e.g.: rules, servers, chat.
How would I load a different clientside javascript script depending on what route the user is requesting?
For example, if the user requests URI /exclserver-rules I want to load a different script than when the user requests URI /exclserver-chat. Just putting the scripts in the 'scripts' array of my plugin.json file doesn't do what I want it to, because that will load all scripts on any of the custom routes.
I'm thinking you'll want to have the scripts loaded asynchronously when the page loads (or is ajaxified to). You'll want to set up a listener on the client side page change hook for this.
Can your scripts be rewritten for require.js compatibility?
See: https://github.com/kurt-stolle/nodebb-plugin-exclserver/blob/master/templates/exclserver/servers.tpl
Why does the <script> tag sometimes not load after rendering the page?