Javascript: Modules
We will use MVC pattern with following structure.
src
 --js
   --models
     Search.js
   --views
     searchView.js
   index.js    Default export
We want to export just one thing, we dont specify any variable.
//Search.js
export default 'I am an exported string.'
//index.js 
//str is name which we will use in index.js
import str from './models/Search';Named export
We want to export multiple things, we need to specify any variables.
//Search.js
export const add = (a, b) => a + b;
export const multiply = (a, b) => a * b;
export const ID = 23;
//index.js 
import {add, multiply} from './models/Search';
console.log(`Using imported functions. ${add(ID,2)} and ${multiply(3, 5)}`);
We can use different names for our functions.
//index.js 
import {add as a, multiply as m} from './models/Search';
console.log(`Using imported functions. ${a(ID,2)} and ${m(3, 5)}`);
We can import also everything.
//index.js 
import * as searchModel from './models/Search';
console.log(`Using imported functions. ${searchModel.add(searchModel.ID,2)} and ${searchModel.m(3, 5)}`);