ShadowNode

Use Node.js in your end devices(QQ: 796448809)

View the Project on GitHub yodaos-project/ShadowNode

Platform Support

The following shows module APIs available for each platform.

  Linux
(Ubuntu)
Raspbian
(Raspberry Pi)
NuttX
(STM32F4-Discovery)
TizenRT
(Artik053)
require O O O O

Module

The require function is always available there is no need to import module explicitly.

require(id)

Loads the module named id.

Example

var assert = require('assert');

assert.equal(2, 2);

require.cache

Modules are cached in this object when they are required. By deleting a key value from this object, the next require will reload the module.

Loading a module

If a native module named id exists, load it and return. (Native module: which module came from the IoT.js itself)

require function searches for modules in the following order:

  1. $NODE_PRIORITIZED_PATH if present.
  2. node_modules folder under current working directory.
  3. $NODE_PATH if present.
  4. $HOME/node_modules.

For each directory in search paths above:

require.main

When a file is run directly, require.main is set to its module. That means that it is possible to determine whether a file has been run directly by testing require.main === module. For a file foo.js, this will be true if run via cmd directly, but false if run by require('./foo'), because module object is set to the foo module but require.main is still your entry file module. So you can get the entry point of the current application from checking require.main.filename anywhere.