Nano Hash - криптовалюты, майнинг, программирование

Как настроить Gulp для экспресс-перезагрузки машинописного текста

Я пытаюсь создать следующий рабочий процесс:

  1. Смотреть изменения файлов
  2. Скомпилируйте TypeScript после завершения:
  3. Перезапустите приложение Express, после того как это будет завершено:
  4. Браузер LiveReload

Вот мой текущий подход:

gulp.task('default', function() {
   //1. run your script as a server
   var server = gls.new('./bin/www');
   server.start();

   gulp.watch('./**/*.js', function(file) {
      var promise = server.start.bind(server)(); //restart my server
          promise.then(function(result) {
             console.log("restarted!");
             setTimeout( function() { 
                server.notify.apply(server, [file]);
             }, 500);

          });
    });
});

Это работает до console.log("restarted!");

Я добавил setTimeout, так как перезагрузка произойдет до того, как сервер будет запущен. Но с ним вообще ничего не происходит никакой перезагрузки.


ИЗМЕНИТЬ

Вот мое первое рабочее решение:

var gulp = require('gulp'),
    nodemon = require('gulp-nodemon'),
    livereload = require('gulp-livereload'),
    ts = require('gulp-typescript');

var tsProject = ts.createProject('tsconfig.json');

gulp.task('typescript', function() {
   console.log('Compiling TypeScript');

    var tsResult = tsProject.src({base: './'}) 
        .pipe(ts(tsProject));
    return tsResult.js.pipe(gulp.dest('./'));
});

gulp.task('serve', ['typescript'], function () {

    gulp.watch('./**/*.ts', ['typescript']);

    livereload.listen();

    nodemon({
        script: './bin/www',
        ext: 'js',
    }).on('restart', function () {
        setTimeout(function () {
            console.log("reload!");
            livereload.reload();
        }, 500);
    });

});

Но я все равно хотел бы избавиться от этого уродливого setTimeout.

Дополнительный вопрос Можно ли решить то же самое без Gulp, используя только сценарий оболочки? По сравнению с командой TSC из командной строки, версия gulp компилируется целую вечность.

17.11.2015

Ответы:


1

Скомпилируйте машинописный текст и tsx (реагируйте на jsx), просмотрите, уменьшите пакет и перезагрузите браузер при изменении внешнего интерфейса.

Скомпилируйте typescript в js, перезапустите сервер и перезагрузите браузер при изменении Backend.

Gulp 4 Typescript + React + JSX + Browserify + Отдельный просмотр внешнего интерфейса + Nodemon + Livereload

Это все, что вам нужно.

gulpfile.js .

Здоровья, катарас.

30.11.2015
  • Gulpfile - это 404 :( У кого-нибудь есть файл, на который я мог бы сослаться? 13.07.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..