Может ли Watchify забрать изменения в html-файлах?
Я импортирую HTML-файлы шаблонов в мои компоненты JavaScript, используя https://www.npmjs.com/package/babel-plugin-transform-html-import-to-string.
Когда я использую watchify, он не обновляется, если html был изменен. Изменяется только файл Javascript. Сценарий npm выглядит примерно так:
watchify -p browserify-hmr -t [babelify ext .js .html] src/index.js -o public/bundle.js
Так как это не работает, я использую часы вместо этого, как показано ниже, но мои сборки по крайней мере на 5 секунд медленнее, чем раньше, когда они были мгновенными.
watch 'npm run browserify' src/ -d --interval=1
где скрипт browserifybrowserify -t [babelify ext .js] src/index.js -o public/bundle.js
Кто-нибудь знает, как я могу запустить browserify на изменения файла HTML, не жертвуя быстрой перестройки?
1 ответ
Проблема в том, что browserify никогда не видит ссылки на .html
файлы, поскольку babelify заменяет их переменными и строками HTML.
Если вы хотите посмотреть, чтобы посмотреть .html
файлы и перестроить пакет, если они меняются, вы должны разрешить babelify для переноса таких утверждений, как import some from './some.html'
в var some = require('./some.html')
и должен использовать преобразование на основе браузера (например, stringify) для преобразования необходимого содержимого:
watchify \
-p browserify-hmr \
-t [babelify ext .js] \
-t [stringify ext .html] \
src/index.js -o public/bundle.js
Browserify / watchify затем увидит .html
файлы, входящие в комплект, будут следить за их изменениями.