Watchify可以获取对html文件的更改吗?

时间:2017-01-25 18:44:19

标签: javascript html browserify watchify

我使用babel-plugin-transform-html-import-to-string将html模板文件导入我的javascript组件。

当我使用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 browserify脚本的位置 browserify -t [babelify ext .js] src/index.js -o public/bundle.js

任何人都知道如何在不牺牲快速重建的情况下在html文件更改上运行browserify?

1 个答案:

答案 0 :(得分:3)

问题是browserify永远不会看到对.html文件的引用,因为babelify正在用变量和HTML字符串替换它们。

如果您希望watchify观看.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个文件视为包含在其中,并会看到它们的更改。