Requiring modules
Clarive JS has a require module system that allows users
to require
internal and external modules.
Internal Cla Modules¶
Internal modules are prefixed with cla/
:
const db = require('cla/db');
Standard Modules¶
Standard modules are the ones shipped with
Clarive under CLARIVE_HOME/plugins/cla_modules
.
Only a few usable modules are located there, as they are used internally by Clarive JS processes.
Some modules currently available:
const _ = require('underscore'); const hs = require('handlebars');
Plugin Modules¶
Here's where users can call modules defined either in:
1) plugins downloaded from the Clarive Plugins page
2) plugins created ad-hoc by the user
Either way, external plugin modules will go into your CLARIVE_BASE/plugins
installation
directory, which could be /opt/clarive/plugins
for example.
Creating User-defined plugin modules¶
1) Create a plugin, say myplugin
, under CLARIVE_BASE/plugins
, read here for
more instructions
2) Add a modules
folder under your plugin, ie. CLARIVE_BASE/plugins/modules
3) Create a module file, which can be either in plain ES5 JS (.js), ES6/Babel (.es6) or Typescript (.ts) under the modules folder.
Example CLARIVE_BASE/plugins/modules/mylib.ts
:
export const mySum = (a,b) => { return a + b; }; export const myMul = (a,b) => { return a * b; };
Then call it from any other place in the Clarive JS space:
const myfuncs = require('/myplugin/mylib.ts'); myfuncs.mySum(2,3); // returns 5