Pull to refresh
1
0
Send message
А webpack для сервера зачем? Пост про ноду…
+можно упростить — вместо path экспортировать сразу path.resolve =)
1) Вариант если пути к модулям неизменны и их мало. Слово «модуль» в контексте «файл с js-кодом».
2) Вариант если нет фреймворка или иерархии компонент в сочетании например с Redux

Впрочем, пока для себя определился.
итого, в точке входа в корне проекта пишу
global.path = require('path');
global.root = __dirname;


инклуды в других файлах, было:
var module = require('../../../../moduleA');


стало:
var module = require(path.resolve(root, 'controller/net/moduleA'));


проверил на Win\Mac — нормально
Кажется, хватит тупого сохранения значения __dirname в main.js.

Прокатит даже для клиентского js-кода где за require-кухню отвечает webpack.
Только придется поддержку __dirname ему в конфиге включить явно.
Значение module.paths вычисляемое и различается для модулей в разных каталогах…

Вообще require поддерживает абсолютные пути, но относительно корня текущего диска.
Может быть стоит где-нить в main.js кроссплатформенно вычислить абсолютный путь до корня проекта.
Записать его в глоб. переменную (одна переменная — терпимо) и дальше везде тупо собирать полный путь…
Да, верно… Для разового включения это терпимо.
Но допустим, этот moduleA.js включен много где в файлах расположенных разных по уровню каталогах.
Каждый раз приходится «спускаться» до корня проекта вручную, потом «подниматься» до модуля.

Либо задумываться о замене CommonJS-вского require на что-то более умное.
Либо делать костыли — заранее в main.js подключить всё и сделать глобальным (с неймспейсами если надо):
global.ModuleA = require('./moduleA.js')
Раз речь зашла о системных мелочах Node.js.

Хотел бы спросить.
Может уже придумали решение чтобы не делать require('../../../../moduleA') внутри moduleB?
Ограничение «только относительные пути» ухудшает читабельность и рефакторинг.
Насчет упаковки включаемого кода в node_modules в курсе — не выход (неудобно).
Одна из законодателей моды — Square Enix с её серией игр Final Fantasy.
В мобильных FFBE и FFRK вся графика «современная» кроме персонажей.
exentrich, скажите пожалуйста, заработает ли функция Инструменты->Тэги в браузерных плагинах?
Спасибо за сервис. Удивлён что гиганты индустрии игнорируют эту тему. Google Bookmarks, del.icio.us — остаются по сей день в зачаточном состоянии. Встроенные в браузер решения так же недоразвиты — древовидная структура без поиска и тэгирования. Экспорт и импорт на уровне «чтобы было». Желаю автору успешно поддерживать и развивать проект.
2

Information

Rating
Does not participate
Registered
Activity