Как использовать stati c assets с исполняемым модулем npm? - PullRequest
0 голосов
/ 11 февраля 2020

Есть ли способ иметь исполняемый файл в модуле Node.js NPM (exectuable находится в совершенно ином месте, чем модуль), чтобы иметь дополнительный файл (или каталог с файлами), к которому у exjectutable есть доступ?

Это та же проблема, что и в Открыть файл из npm модуля из исполняемого файла , но по-другому, у меня есть REPL, и я хочу загрузить файлы, которые находятся в модуле, из которого пришел исполняемый файл.

Это должно быть простой и распространенной задачей, но я не могу найти решение, может быть, вы знаете какой-то пакет с бинарным кодом с активами, глядя на источник, и я смогу это выяснить.

1 Ответ

0 голосов
/ 29 февраля 2020

Нашел, как это сделать, когда понадобится снова. Глядя на документы для модуля

Я нашел функцию:

require.resolve (запрос [, опции])

Используйте Внутренний механизм require () ищет местоположение модуля, но вместо загрузки модуля просто возвращает разрешенное имя файла.

, поэтому для загрузки ресурсов c нужно только следующее:

function boostrap() {
    var path;
    try {
        path = require.resolve('./examples/helpers.lips');
    } catch (e) {
        path = require.resolve('@jcubic/lips/examples/helpers.lips');
    }
    var data = fs.readFileSync(path);
    return run(data, env);
}

Мне нужно протестировать два случая, и если я смогу эту функцию с именем модуля и у меня есть исходный код, он выдаст то же самое, как если бы я вызывал как локальный файл, а я не в исходном коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...