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

标签 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

由于这不起作用,我改用 watch,如下所示,但我的构建比之前即时构建至少慢了 5 秒。

watch 'npm run browserify' src/-d --interval=1 browserify脚本在哪里 browserify -t [babelify ext.js] src/index.js -o public/bundle.js

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

最佳答案

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

如果你想让 watchify 监视 .html 文件并在它们发生变化时重建包,你应该允许 babelify 转换语句,如 import some from './some.html' var some = require('./some.html') 并且应该使用基于 browserify 的转换(如 stringify )来转换所需的内容:

watchify \
  -p browserify-hmr \
  -t [babelify ext .js] \
  -t [stringify ext .html] \
  src/index.js -o public/bundle.js

然后 Browserify/watchify 将看到 .html 文件包含在包中,并将观察它们的变化。

关于javascript - Watchify 可以获取对 html 文件的更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41859235/

相关文章:

javascript - Stripe 自定义付款表格未正确显示

javascript - 使用javascript检查url内容类型

javascript - 多个ajax调用同一个文件来执行同一个文件中的不同代码?

javascript - 如何创建包含 GUI 并控制父浏览器窗口的弹出浏览器窗口

jquery - HTML5 视频停止关闭

html - Wordpress:具有视差滚动的页面上的双垂直滚动条。我怎样才能解决这个问题?

php - 在 PHP 中使用单引号(转义)

backbone.js - 作为 CommonJS 模块的主干 View

node.js - 使用 Browserify 和 React 导入 Node 模块的循环依赖关系

node.js - Browserify by Grunt.js watch