L oop через массив с функциями файловой системы asyn c NodeJS - PullRequest
0 голосов
/ 02 марта 2020

Я использую Symfony и webpack-бис. Мне нужно сделать несколько папок доступными из папок node_modules в папку public. Вместо пакетов webpack copyFiles я подумал о symlinks.

. Он работает нормально, однако, если я сделаю для l oop итерацию нескольких созданий символических ссылок, он не будет работать должным образом. Кажется, я не * l oop правильно, , если я утешаю. Log ключ, он не меняется вообще.

var Encore = require('@symfony/webpack-encore');

var fs = require('fs');

...

var symlinks = [];
symlinks['./node_modules/@fortawesome/fontawesome-free/sprites'] = './public/fontawesome';
symlinks['./node_modules/tinymce'] = './public/tinymce';
for (var key in symlinks) {
    fs.lstat(symlinks[key],(err, stats) => {
        if (stats != undefined && stats.isSymbolicLink()) {
            fs.unlink(symlinks[key], (err) => {

            });
        }
        fs.symlink(key, symlinks[key], (err) => {
            if (err)
                throw err;
            console.log(key + '->' + symlinks[key] + ' was linked.');
        });

    });
}

...

Encore
    .set...

Я также пытался сделать версию с синхронизацией c, но функция lstat завершается ошибкой, если файл не существует.

...