【问题标题】:Can Watchify pick up changes to html files?Watchify 可以获取对 html 文件的更改吗?
【发布时间】:2017-06-11 02:01:46
【问题描述】:

我使用 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 吗?

【问题讨论】:

    标签: javascript html browserify watchify


    【解决方案1】:

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

    如果您希望 watchify 监视 .html 文件并在它们发生更改时重建包,您应该允许 babelify 将诸如 import some from './some.html' 之类的语句转换为 var some = require('./some.html') 并应使用基于 browserify 的转换(例如 @987654321 @) 转换所需内容:

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

    Browserify/watchify 然后会看到 .html 文件包含在包中,并会监视它们的更改。

    【讨论】:

    • 成功了,谢谢!这是我使用的略微简化的语法watchify -p browserify-hmr -t [babelify ext .js] -t [stringify ext .html] src/index.js -o public/bundle.js
    • @MauroPerez 天哪,这让我发疯了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    相关资源
    最近更新 更多