Вы можете использовать ES6 modules
.
Шаги:
- Создать файл модуля, скажем, имя файла - someModule. js и добавить свой код в это и экспортировать методы, используя
ES6
export
.
//some private variables
let private1,
private2;
//some public functions
function addDatatoPrivate1 (data) {
private1 = processData(data);
}
function addDatatoPrivate2 (data) {
private2 = processData(data);
}
//private function processData
function processData(data) {
return data.trim();
}
return {
addDatatoPrivate1: addDatatoPrivate1,
addDatatoPrivate2: addDatatoPrivate2,
}
export {
processData,
addDatatoPrivate1,
addDatatoPrivate2,
}
Теперь пользователь модуля может импортировать модуль, как показано ниже.
Используя ES6
разрушение объекта
import {addDatatoPrivate1, addDatatoPrivate2, processData} from './someModule'
addDatatoPrivate1(' some data here ');
addDatatoPrivate2(' some data here2 ');
ИЛИ с использованием подстановочного знака (*)
import * as moduleInstance from './someModule'
moduleInstance.addDatatoPrivate1(' some data here ');
moduleInstance.addDatatoPrivate2(' some data here2 ');
Невозможно экспортировать переменную в частном порядке. Все, что экспортируется из модуля, по умолчанию публикуется c.
Если вы хотите создать отдельный модуль для каждого из них, вы можете сделать что-то вроде ниже.
Мы могли бы использовать ES6
экспорт по умолчанию в избегать разрушения объектов.
module1. js
function processData(data) {
return data.trim();
}
export default processData;
module2. js
import processData from './module1';
//some private variables
let private1;
//some public functions
function addDatatoPrivate1 (data) {
private1 = processData(data);
}
export default addDatatoPrivate1;
module3. js
import processData from './module1';
//some private variables
let private2;
function addDatatoPrivate2 (data) {
private2 = processData(data);
}
export default addDatatoPrivate2;
И затем вы можете включить эти модули и некоторые другие файлы.
import addDatatoPrivate1 from './module2';
import addDatatoPrivate2 from './module3';
addDatatoPrivate1(' some data here ');
addDatatoPrivate2(' some data here2 ');
или вы можете экспортировать все Вы используете метод в одном файле, чтобы другие могли импортировать его и использовать.
index. js
import addDatatoPrivate1 from './module2';
import addDatatoPrivate2 from './module3';
export {
addDatatoPrivate1,
addDatatoPrivate2
}