TransWikia.com

Абсолютнный путь для import в Node.js ES6

Stack Overflow на русском Asked on January 14, 2021

Есть ли возможность использовать абсолютный путь в import в es6 модулях Node.js?
В случае require допускается require.main.require(‘./absolute/path/file’). Нужно что-то похожее

2 Answers

Нормального варианта не нашел, но есть замечательный костыль в виде: module-alias

ДО установки модуля путь выглядел так:

require('../../../../some/very/deep/module')

После:

module = require('@deep/module')

Чтобы создать псевдоним для каталога необходимо в package.json вписать объект:

"_moduleAliases": {
    "@root"      : ".",
    "@deep"      : "src/some/very/deep/directory/or/file",
    "@my_module" : "lib/some-file.js",
    "something"  : "src/foo"
}

Где ключ - название псевдонима

А значение - путь к каталогу.


Подробнее можно посмотреть в документации самого модуля

module-alias

Answered by MoloF on January 14, 2021

process.cwd() или __filename

const root = process.cwd();
const customModule = require(`${root}/lib/customModule`);

или:

console.log(__filename);

Answered by Alexander Yukal on January 14, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP