Module
Introduction
As our application grows bigger, we want to split it into multiple files, so called “modules”. A module may contain a class or a library of functions for a specific purpose.
But eventually scripts became more and more complex, so the community invented a variety of ways to organize code into modules, special libraries to load modules on demand.
AMD (Asynchronous Module Definition)
It is invented by RequireJS
Here is an example
CommonJS
It is mainly designed for NodeJS usage
By default, NodeJS treats JavaScript code as CommonJS modules. Because of this, CommonJS modules are characterized by the
require
statement for module imports andmodule.exports
for module exports.
ECMAScript 6 (ES6)
After javascript comes to version 6, import & export is added
Most of browser support es6, however, NodeJS default is using commonJS
In order to apply es6 on nodejs, it is recommended to use typescript for development, and compile in commonjs
After compiling into javascript
Syntax
Given the view1 module
would basically be equivalent to
In fact the first import above a shorthand for
ESNext
Targeting ESNext enables module system using the next version of JavaScript is, meaning it includes the latest proposals and features that may not be finalized yet.
References
Last updated
Was this helpful?