问题标签 [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.
javascript - Watchify 未正确处理源映射
我正在使用 Browserify 来捆绑我所有的 Javascript 资产。然而,随着应用程序变得越来越复杂,Browserify 开始变得非常缓慢,所以我切换到 Watchify,它很好地解决了这个问题。
然而,这带来了一个新的问题。在此期间,我正在输出源映射以进行调试,并使用 Minifyify 缩小输出。在第一次运行 Watchify 时,这工作正常,源映射正确映射到原始文件。但是,如果我随后修改文件,则源映射最终会指向原始文件的缩小版本,而不是未缩小的版本。
我假设这是因为 Watchify 没有接收输入源映射然后对其进行修改,但我不确定。
这是我的代码:
这里出了什么问题?Watchify 是否确实在第二次运行时没有考虑到已经存在的源映射,还是其他原因?无论哪种方式,我如何让这个工作正常,以便源映射正确链接回第二次和后续通过 Watchify 运行的未缩小的非捆绑资产?
node.js - Gulp:我如何处理一个永远不会完成的任务?
我正在尝试编写一个 gulp 插件watchify
,以便我将文件通过管道传输到其中。问题是我的任务从未真正“完成”,因为它坐在那里并监视一堆文件并根据需要重新构建。
那么如何“通过”这个插件发送代码呢?
现在,我调用插件的任务被简化为:
我watchifyPlugin
的是:
现在这适用于.js
我的 glob 找到的第一个文件。但是,任何其他文件实际上都不会到达我的插件,我假设这是因为我从不调用cb()
.
那么我该怎么做呢?有没有办法在不调用的情况下继续写入流cb()
,这会关闭它,但仍然允许以前的管道继续?
换句话说:
- index.js
watchify()
- 管道
dest()
很好,即使我self.push()
一次又一次地打电话 cb()
从来没有打电话
- index2.js
watchify()
在被要求之前从不调用cb()
,index.js
但这会“关闭”index.js
管道
javascript - 组合流节点
此函数的返回需要是一个流。在非手表模式下,这很容易;只需返回重新捆绑,browserify 流被转换,等等等等,好的。但是,在监视模式下,每次更新都会运行重新捆绑,并且每次都会创建一个新流。我需要一种方法来整合所有这些流,因为它们被创建成一个我可以返回的无限流,并且实际上可以在生产线上消耗掉。使用组合流,似乎一旦读取数据,流就不再是可写的,所以这是不行的。任何帮助,将不胜感激!
javascript - Browserify 编译成完整的系统路径(使用 watchify & gulp)
我来自 AMD,似乎已经做错了什么。
我做了这样的设置:
我希望它建立:
index.js
需要test.js
这样:
我的gulp
watchify
任务如下所示:
不过,编译后的代码看起来是错误的,因为test.js
我看到绝对本地路径对于任何使用该代码的人来说肯定是损坏的或冗余的?
PS我正在运行没有args的任务(只是gulp watch
)
gulp - 带有 watchify/browserify 的 Gulp 运行两次然后停止观看
这是我的 gulpfile.js
然后我的命令行输出如下所示:
保存 index.jsx
第二次保存 index.jsx
第三次保存 index.jsx
没有输出。
这似乎正是我想要的前两次,然后它就停止观看。谁能指出我正确的方向?
gruntjs - 使用 Grunt Browserify 指定一项普通任务和一项监视任务
我在本地开发期间使用 Watchify(通过 grunt-browserify)进行快速编译:
运行grunt browserify
进入一个while true
不断观察变化的循环。在构建可用于生产的捆绑包时,我希望它运行一次而不是观看。
我已经尝试过这种配置,但browserify:dev
任务从不关注:
如何指定一个使用 Watchify 监视的 Browserify 任务,以及一个构建整个包并退出的任务?
coffeescript - Browserify,监视和移动文件
当我们在开发应用程序时尝试将 browserify 与 watchify 一起使用时,我和我的团队一直遇到同样的问题。
本质上是这里的问题。假设我们有以下文件结构:
并app.coffee
具有以下代码:
这对我们很有用,我对使用 watchify 后构建运行的速度感到非常满意。
但是,假设我们随后稍微改变了我们的项目结构:
但它的内容app.coffee
没有改变,所以它仍然在做以下事情:
现在,问题是 Watchify 或 Browserify 似乎都没有这个问题,我怀疑这可能是因为正在进行某种缓存。
然而,一旦该代码被推送到我们的 repo 并且另一个团队成员将其拉下,Browserify 立即抱怨它无法再找到./required_file
,因为 require 语句不正确,它应该是../folder2/required_file
.
谁能向我解释为什么会发生这种情况以及我们如何才能防止它继续发生?
javascript - gulp browserify reactify 任务很慢
我使用 Gulp 作为我的任务运行器并使用 browserify 来捆绑我的 CommonJs 模块。
我注意到运行我的 browserify 任务非常慢,大约需要 2 到 3 秒,而我所拥有的只是 React 和一些我为开发而构建的非常小的组件。
有没有办法加快任务,或者我的任务中有什么明显的问题?
我正在使用 Browserify、Watchify、Reactify 和 Vinyl Source Stream 以及其他一些不相关的模块。
谢谢
coffeescript - Browserify 不观看所需的文件
我最近重写了我的 gulpfile,除了保存时,我的主 .coffee 文件将捆绑,但所有必需的文件都不会触发捆绑,我不知道为什么。这是我的文件:
配置文件——
浏览器化文件——
当我保存 app.coffee 时,一切都很好。但是,当我在 app.coffee 中保存任何所需的 .coffee 文件时,除非我重新保存 app.coffee,否则它不会捆绑。我有几个在这样的目录结构中需要的自定义库:
我已经尝试过 globbing,但这只会产生错误,并且大多数其他所有内容都是在我重新编写它之前设置的。有任何想法吗?
browserify - 为什么我们应该将 watchify 参数传递给 browserify?
从watchify的文档中,我看到:
创建 browserify 实例时,您必须在构造函数中设置这些属性:
这 3 个参数cache: {}, packageCache: {}, fullPaths: true
用于 watchify,但是为什么我们应该将它们传递给browserify
而不是传递给watchify
呢?