问题标签 [watchify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
221 浏览

javascript - Watchify 不查看父文件夹中的更改

我在一个文件夹下有一堆具有共同依赖关系的应用程序。

现在,Watchify 的几个实例正在为所有这些运行,如果我更改其中任何一个,该应用程序将使用 browserify 和 reactify 重建。这里的想法是让所有应用程序只获取它们自己的编译文件,而不是一个包含所有应用程序的巨大 javascript 文件。目前很好!

现在每个应用程序的入口点main.js都是这样开始的

如果我在应用程序特定的something.js中进行更改,该应用程序将被重建并且一切都按预期工作。但是,如果我更新tools.js中的某些内容,它有几个依赖于它的应用程序,那不会发生。从理论上讲,这应该会触发所有应用程序的重建,因为它们都需要它,但情况似乎并非如此。

如果我在 tools.js 中更改某些内容,我必须转到每个应用程序并在其中重新保存一些文件,以便重新构建并获取我所做的更改。

Watchify 是否只查看子文件夹而不查看父文件夹,或者这里是否还有其他事情发生?

0 投票
1 回答
973 浏览

node.js - 节点脚本:使用 watchify 链接命令

我正在使用 npm 脚本(请参阅下面的 npm 文件)来监视文件的更改,watchify然后编译并在编译后通知。然而,发生的情况是 watchify 任务运行(第一次运行时需要 40 秒),然后notify:js立即调用该任务。我希望notify:js在 watchify 完成编译后调用。

我尝试了以下命令变体。

上述命令与操作符的作用相同|

上述命令与操作符的作用相同&

对于我想要实现的目标,我在watchify 文档中看不到任何选项。我在这里遗漏了什么,或者我试图这样做的方式是不可能的?

0 投票
1 回答
454 浏览

gulp - Gulp watch 只用 watchify 触发一次

我遇到了 watchify 和 gulp.watch 之间一些奇怪的相互作用的问题。当我们将 watchify 与轮询一起使用时,我需要这样做,因为它在 vagrant 环境中运行,然后 gulp.watch 任务仅在文件第一次更改时触发。

吞咽文件:

此处的示例存储库:https ://github.com/mudetroit/watchify-gulp-watch-issue

当您在初始编译后运行 gulp 并更改文件两次时,您会看到以下内容。

有几点值得注意,如果我不使用 watchify 并进行完全重新编译,它工作得很好,但这在实践中会很慢。如果我取消投票,它可以正常工作,但这会阻止它在 NFS 的流浪环境中工作。整个早上都在试图了解这里发生了什么,但没有到达任何地方,所以希望我能得到一些帮助。

0 投票
0 回答
278 浏览

sass - PhpStorm:使用 watchify.js 将所有 .SCSS 文件压缩为单个 .CSS 文件?

我正在使用以下 npm 构建工具的组合开发浏览器应用程序

  • 浏览器化
  • 咖啡化
  • 关注

我的 package.json 文件的脚本部分是:

到目前为止,我已经配置了我的项目,以便在开始工作之前,我输入“npm run watch”命令,并且每当我更新一个时,所有 CoffeeScript 文件都会自动捆绑到 bundle.js 文件中。现在,我还想要几个 .SCSS 文件,这些文件会自动编译成 .CSS 文件,然后全部打包并压缩成一个 min.css 文件。而且,理想情况下,我希望无需输入除我已经为我的 CS 文件输入的命令(“npm run watch”)之外的命令来完成此操作。

这是我的 package.json devDependencies:

到目前为止,我已经使用 PhpStorm 的文件观察器和 node-sass npm 模块成功地将我的 .SCSS 文件编译为 .CSS 文件。经过一番阅读,我决定使用 yui 压缩器(它也作为 Node 模块安装,如上所示)。但是,经过大量搜索,我找不到有关如何执行此操作的良好描述。

我应该更新:

我的 package.json 文件中的行?如果是这样,怎么做?

我希望最终结果是,只要 SCSS 文件夹中的文件发生更改,其他文件夹中的 min.css 文件就会自动重新编译。

(如果我的目的有更好的选择,我不一定坚持使用 yui 压缩器。)

0 投票
0 回答
424 浏览

javascript - GULP - 在一个流中合并多个 browserify 包

我正在开发一个大型 Web 应用程序。我正在使用 Gulp 构建 javascript 文件和 Browserify。

问题是当我处于开发模式时,每次我进行更改时都需要花费大量时间来重建我的 javascript 包(使用手表)

对于我的应用程序,我需要以特殊顺序将所有 javascript 文件打包到一个文件中:

  • 所有供应商文件(包括引导 jquery 等)
  • 一些需要浏览器化的文件(使用 commonJS 样式 require('...');
  • 一些需要浏览器化和 babelified 的文件(.jsx文件)

由于我不想在文件保存之间浪费时间等待 browserify 捆绑所有文件(平均 20-25 秒......),我决定将流程拆分为 3 个异步构建的捆绑包,然后合并所有这 3 个临时捆绑包到一个。(通过这种方式,第一次构建只需要 15 秒,如果我使用 watchify 在文件中进行了一次更改,重建只需 2 秒而不是 20 秒)。

我的问题是,当我只使用一个管道来捆绑最终文件时,使用 browserify 和debug: true选项,我可以在 chrome 开发者控制台中单独访问所有源文件,这要归功于 browserify 调试选项,因为只有一个 sourcemap 文件生成.

但是现在有了 3 个管道,每个管道都构建了自己的源映射,当我将 3 个临时包合并到最后一个中时,使用gulp-sourcemaps 插件和loadMaps: true选项,Web 浏览器控制台上出现错误(因此该应用程序不起作用)。如果我关闭debug: truebrowserify 选项,它可以正常工作,但我无法单独调试每个 JS 文件。我只有大的 100K 行最终文件...

有人可以帮我获得正确的源图吗?

这是抛出的错误类型

由于这个错误,我无法合并所有 browserify 包生成的源图。

0 投票
0 回答
437 浏览

javascript - Gulp browserify babel 和 watchify 输出多个bundle

我想使用 gulp、browserfiy 输出多个包,并且还使用 babel 和 watchify 的功能。我可以生成多个包,但我不知道使用 babel 和 watchify 的功能。

这是我为多个捆绑所做的

我应该怎么做才能享受 watchify 和 babel 的功能?

0 投票
2 回答
110 浏览

javascript - watchify(npm 包)中的“-d”选项是什么意思?

这是包的链接:https ://www.npmjs.com/package/watchify 我在某处看到了一个用法:“watchify -o js/bundle.js -v -d js/app.js”。我希望知道“-d”选项的含义。谢谢你。

0 投票
0 回答
555 浏览

docker - Docker - 在容器内运行 watchify 不起作用

我是 docker 新手,正在尝试构建我的开发容器。我想在开发时为 concat 文件运行watchify ( https://www.npmjs.com/package/watchify )。

Docker 可以管理卷。我可以watchify在我的系统上运行,但我想把它放在 docker host 上

我设法构建容器和图像。

当使用“npm run start:dev”运行容器时,它就会退出。

知道为什么会这样吗?我可以在容器上运行 watchjs 和节点应用程序吗?

这就是我构建图像/容器的方式:

这里是我的 Dockerfile

0 投票
1 回答
2913 浏览

javascript - watchify 和 gulp.watch 的区别

我刚刚开始使用Browserifywithgulp并且遇到了使用watchify.

我不明白的是,为什么不使用gulp.watch呢?和 和
有什么不一样?watchifygulp.watch

0 投票
4 回答
15535 浏览

javascript - 如何设置 gulp 将多个文件捆绑为一个?

这似乎是一个非常简单的问题,但花了最后 3 个小时研究它,发现如果不使用 watchify,每次保存新文件都会很慢。

这是我的目录树:

要求。在文件夹中每次创建或保存文件时,toBundleTheseJs/我希望将此文件重新捆绑到toBundleJsHere/

我需要在我的package.json文件中包含什么?

我需要写入我的 gulp 文件的最低要求是多少?

这应该尽可能快,所以认为我应该使用 browserify 和 watchify。我想了解最少的步骤,所以在这一点上使用像 jspm 这样的包管理器是多余的。

谢谢