Задать вопрос
  • Как правильно настроить gulp watch?

    UnluckySerivelha
    @UnluckySerivelha
    Я вот так использую. Не знаю насчёт правильности, но всё работает.
    gulp.task("serve", function () {
        browserSync.init({
            server: "dev"
        });
    
        gulp.watch("src/scss/*.scss", ["dev:scss"]);
        gulp.watch("src/**/*.html", ["dev:html"]);
        gulp.watch("src/js/*.js", ["dev:js"]);
        gulp.watch("src/js/libs/*.js", ["dev:js-libs"]);
        gulp.watch("dev/*.html").on("change", browserSync.reload);
        gulp.watch("dev/js/*.js").on("change", browserSync.reload);
        gulp.watch("dev/**/*.css").on("change", browserSync.reload);
    });
    Ответ написан
    1 комментарий
  • Как выполнить javascript-код в песочнице на сервере?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Есть такой неймспейс "vm", см. nodejs.org/api/vm.html В нем методы: vm.createContext(sandbox), vm.createScript(code, scriptName). Так же в нем класс Script и у него методы: script.runInThisContext(), script.runInNewContext(sandbox). В общем, можно создать песочницу, у которой даже не будет доступа к require, и пробросить в нее только те функции, что нужны для безопасного выполнения скрипта. Потом обернуть выполнение скрипта в Domain, см. nodejs.org/api/domain.html И тогда уж все будет точно безопасно, и доступ ко внешнему миру будет у скрипта закрыт и если он свалится, то через domain можно поймать, и global он своими данными не засрет, т.е. песочницу можно убить и создать новую, даже не перезапуская процесс ноды. Пример использования можно подсмотреть тут: https://github.com/tshemsedinov/impress/blob/maste... Там есть некоторые хитрости, например, как сделать примесь своих функций к базовым классам в песочнице и подобное.
    Ответ написан
    Комментировать