Node.js follows the commonJS module system, and it require to include modules that exist in separate files and for that purpose it has methods like “require” and “ES6 import and export” are available in node.js.
- To including inbuilt module is as follows:
const express = require('express');
- To including local module is as follows. For an instance you require ‘abc’ module, without specifying a path.
Example: Node will look for abc.js in all the paths specified by module.paths in order.
- If node can’t find it:
Error: Cannot find module
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at ContextifyScript.Script.runInThisContext (vm.js:23:33)
at REPLServer.defaultEval (repl.js:336:29)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer.onLine (repl.js:533:10)chevron_right
- If node find it:
// It is the content of the file
- If node can’t find it:
ES6 Import & Export: This statements are used to refer to an ES module. Other file types can’t be imported with these statements. They are permitted only in ES modules and the specifier of this statement can either be a URL-style relative path or a package name.
Whereas Export statements allow the user to export his created objects and methods to other programs. For instance, if you assign a string literal then it will expose that string literal as a module.
- For importing file.
// Importing submodule from // 'es-module-package/private-module.js'; import './private-module.js';
- For exporting file.
module.exports = 'A Computer Science Portal';
Example: Create two JS file one is for importing and another one is for exporting or you can use any module to import so export one will not be required.
- Export File name
// Exporting module
// Importing module
msg = import(
Difference between node.js require and ES6 import and export: Although require function and ES6 import and export share a lot in common and seem to perform the same function in code but they are different in many ways.
|REQUIRE||ES6 IMPORT AND EXPORT|
|Require is Non-lexical, it stays where they have put the file.||Import is lexical, it gets sorted to the top of the file.|
|It can be called at any time and place in the program.||It can’t be called conditionally, it always run in the beginning of the file.|
|You can directly run the code with require statement.||To run a program containing import statement you have to use experimental module feature flag.|
|If you want to use require module than you have to save file with ‘.js’ extension.||If you want to use import module than you have to save file with ‘.mjs’ extension.|
NOTE: You must note that you can’t use require and import at the same time in your node program and it is more preferred to use require instead of import as you are required to use experimental module flag feature to run import program.
- ES6 | Import and Export
- Difference between require-dev and require in PHP?
- What is the difference between declarations, providers, and import in NgModule?
- Difference between NodeJS and AngularJS
- Nodejs | Automatic restart NodeJs server with nodemon
- PHP | (Include and Require)
- Node.js | Export Module
- PHP | ReflectionExtension export() Function
- PHP | ReflectionClass export() Function
- PHP | ReflectionFunction export() Function
- PHP | ReflectionMethod export() Function
- export command in Linux with Examples
- Export JSON to CSV file in Angular
- Scala | Preconditions(assert, assume, require, ensuring)
- How to import LESS through npm ?
- CSS | @import rule
- How to import SASS through npm ?
- SASS | @import
- How to Import another TypeScript Files ?
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.