Как загрузить модуль, только если он существует в node / gulp? - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь правильно настроить мою настройку Gulp и хочу загрузить moduleA, если она существует, или moduleB вместо, если moduleA не существует.

Попытка использовать этот ответ чтобы проверить, существует ли файл, вот мой код:

const fs = require('fs');

const moduleA = './moduleA.js';
const moduleB = './moduleB.js';

const myModule = require( (fs.existsSync(moduleA)) ? moduleA : moduleB );

Но он не работает, мои задачи всегда получают код из './moduleB.js 'даже если' ./moduleA.js 'существует и доступен для чтения.

Как я могу изменить этот код, чтобы он работал, и требовать правильный модуль с учетом условий?


Редактировать: Я попробовал следующий код

const fs = require('fs');

const itexists = true;
const moduleA = './moduleA.js';
const moduleB = './moduleB.js';

const myModule = require( (itexists === true) ? moduleA : moduleB );

, и он дает мне значения от moduleA (конечно, без проверки его существования), так что я могу по крайней мере предположить, что синтаксис правильный и что проблема заключается в fs.existsSync().

Насколько я понял, fs.existsSync() должен выдавать true или false в качестве вывода, но, видимо, так не работает.

...