Оглавление:
Карта сайта:
Оглавление:
Карта сайта:
Это старая версия документа!
Введение в модульность ES6:
The import statement is used to import modules that are exported by some other module. A module is a file that contains a piece of reusable code. The import modules are in strict mode whether it is declared or not. Инструкция import используется для импорта модулей, которые экспортируются каким-либо другим модулем. Модуль - это файл, содержащий фрагмент повторно используемого кода. Модули находятся в «строгом режиме», независимо от того, объявлен он или нет.
Синтаксис import:
import name from 'module-name'
Импорт может быть выполнен различными способами:
import * as name from 'module-name'
import name from 'module-name'
import { name } from 'module-name'
import { nameOne , nameTwo } from 'module-name'
import './module-name'
Nodejs не поддерживает прямой импорт ES6. Если мы попытаемся использовать import для импорта модулей непосредственно в nodejs, это выдаст ошибку. Например, если мы попытаемся импортировать модуль express, написав import express from ‘express’ node js выдаст ошибку следующего вида:
//package.json { "name": "index", "version": "1.0.0", "description": "", "main": "index.js", "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
//index.js import express from 'express'; const app = express(); app.get('/',(req,res) => { res.send('GeeksforGeeks'); }) const PORT = 5000; app.listen(PORT,() => { console.log(`Running on PORT ${PORT}`); })
Использование модуля esm:
Другой способ сделать это - создать файл с расширением .mjs. Если мы используем файл с расширением .mjs, то нам не нужно добавлять “type”: “module” в файл package.json. Мы можем напрямую написать программу и выполнить ее, набрав node –experimental-modules index.mjs в терминале. Теперь, при использовании файла с расширением .mjs, файл package.json будет выглядеть следующим образом:
// package.json when using .mjs file
{
"name": "index",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
Создайте файл index.mjs и напишите программу, используя импорт ES6.
//index.mjs import express from 'express'; const app = express(); app.get('/',(req,res) => { res.send('GeeksforGeeks'); }) const PORT = 5000; app.listen(PORT,() => { console.log(`Running on PORT ${PORT}`); })
Теперь в терминале введите node –experimental-modules index.mjs . Это приведет к запуску файла, и приложение теперь будет запущено на порту 5000. Использование модуля esm Установка
npm install esm
Now try executing the program written in the index.js file earlier by typing node -r esm index.js in the terminal.
Другой способ использовать модуль esm - создать другой файл, скажем server.js который загружает esm перед фактическим применением. В самом server.js файл напишите приведенный ниже код
//server.js
require = require("esm")(module);
module.exports = require("./index.js");
Теперь в терминале введите узел server.js для выполнения программы
Результат работы index.js и файл index.mjs в приведенном выше методе является: