Giter VIP home page Giter VIP logo

Comments (8)

radiocity avatar radiocity commented on May 28, 2024 1

@mrmlnc, залил демонстрационный проект.
Попробуй поменять значение переменной в configuration.pug и проверь ./build/pages/contacts.html.

from emitty.

mrmlnc avatar mrmlnc commented on May 28, 2024 1

@radiocity, OS? Напиши полный сценарий. У меня на macOS работает нормально. Попробуй npm i -D emitty@next – опубликую завтра. И давай всё таки создадим отдельное ишью.

from emitty.

mrmlnc avatar mrmlnc commented on May 28, 2024

Привет,

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

Во-вторых, возможно, я не ясно выразился как работает Emitty, поэтому повторюсь:

  1. Указывается корневая директория файлов и путь изменившегося файла (можно не указывать, но это ударит по производительности - см. статью).
  2. Вызывается Emitty.
  3. Emitty сканирует вложенные директории и определяет зависимости каждого файла (поэтому зависимости не вложенные), а также время последнего изменения файла.
  4. Затем Emitty смотрит на путь изменившегося файла и ищет для него зависимости в хранилище.
    4.1. Если зависимости найдены и файл не обновился, то в следующий шаг передаются зависимости из хранилища.
    4.2. Если зависимости не найдены или файл обновился, то для этого файла определяются зависимости и только потом они передаются в следующий шаг.
  5. Emitty автоматически строит вложенное дерево для переданного пути, если вызвать getDependencies или checkDependencies. То есть берет путь изменившегося файла, находит его зависимости, проходится по ним и для каждой зависимости ищет её зависимости и так далее.
  6. Emitty говорит, нужно ли компилировать файл.

Для Gulp всё намного проще - есть рабочие примеры. Смотреть их нужно здесь: https://github.com/mrmlnc/emitty#how-to-use-with-gulp

Минимально рабочий пример для нативного использования можно получить из части, описывающей resolver - https://github.com/mrmlnc/emitty#resolver.

from emitty.

dimensi avatar dimensi commented on May 28, 2024

Здравствуйте, сегодня днем я понял, что должен был передавать корневую папку, но пока вы не написали, у меня и примеры из вашей документации не работали. Я думаю, что проблема во мне была, и у меня как у новичка все через танцы с бубном. Спасибо за ответ.

from emitty.

radiocity avatar radiocity commented on May 28, 2024

И всё же с многоуровневым include не работает так, как хотелось бы.
Структура:

layouts
    common.pug
    clean.pug
    page.pug
pages
    contacts.pug
configuration.pug

Цепочка зависимостей:
configuration -> common -> clean -> page -> contacts

Испольую код из performance примера, указывая пути к руту.
Изменяю значение переменной в configuration.pug. Emitty посылает запрос на обновление одного лишь configuration.html, но не дальше.

Правда, возможна проблема в организации проекта или особенностях работы gulp-pug.

from emitty.

mrmlnc avatar mrmlnc commented on May 28, 2024

Привет, @radiocity,

Ты не мог бы поделиться репозиторием или архивом с твоим случаем? – я смогу посмотреть его вечером или завтра днём. Кажется, что проблема не в Emitty, хотя я этого и не исключаю.

А ещё было бы круто, если ты создал новый ишью :)

from emitty.

mrmlnc avatar mrmlnc commented on May 28, 2024

@radiocity,

У тебя неправильно указаны пути:

-let src = './../source/pug',
+let src = '../source/pug',
-    dist = './../build',
+    dist = './../build',

from emitty.

radiocity avatar radiocity commented on May 28, 2024

@mrmlnc, да, после запуска проект собирается нормально, но по-прежнему при изменениях не обновляет html файлы.

from emitty.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.