Appendix A. Node.js

Module Basics

A module is the JavaScript concept of a code library. Modules are good places to collect functions, objects, or ideas that might get reused across different projects. They can help deal with files, data, or communication with external devices.

The Filesystem Module

Suppose you want to open a file and read data. Node.js has no functions for files built-in, but it does have a nice module to work with files.

Note

If you work with Mac OS X or Unix, many embedded devices show up in the filesystem as files under /dev/. Reading, writing, and controling an embedded device from a host computer has many similarities to reading and writing to files.

To load the filesystem module, you require its reference fs. This generally looks as follows:

var fs = require('fs');

By loading the fs module, you have access to many objects and classes that help you to work with files in JavaScript.

Note

Bookmarking the Node.js API documentation is a good idea. The API docs for the filesystem can be found here: https://nodejs.org/api/fs.html.

Let’s play with the module in the Node.js console. First, you can open a Node.js console with:

$ node

Then, you require the module:

> var fs = require('fs');
{ Stats: [Function],
  ...

As you can see, the JavaScript object fs has many functions for working with files.

Within the object’s methods, you will find two interesting functions to read a file, both starting with readFile:

fs.readFile
fs.readFileSync

The filesystem module provides ...

Get Node.js for Embedded Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.