问题标签 [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 回答
204 浏览

node.js - “结束后写”:如何用watchify模仿gulp-watch?

下面的 Gulp 任务几乎完成了我想要的。

它使用 Browserify 捆绑了我所有的 Jasmine 规范,并通过 gulp -jasmine-browser对其进行了测试。它还监视它们所依赖的所有规范和所有模块,并在这些模块中的任何一个发生更改时重新运行测试。

唯一丑陋的一点,我真的希望看到解决,每次updateSpecs运行时都会创建一个新的 PhantomJS 实例和一个新的 Jasmine 服务器。我希望通过如下代码来避免这种情况:

唉,这行不通。启动任务后,所有测试都运行良好,但下一次updateSpecs调用时,我收到write after end错误并且任务以状态 1 退出。此错误源自readable-streamNode 模块。

据我了解,end第一次运行期间的事件updateSpecs处于testServer不接受任何新输入的状态。不幸的是,Node.js 流文档对于如何解决这个问题并不是很清楚。

我曾尝试在不同的地方打破管道链,但我得到了相同的结果,这似乎表明这是流的普遍行为。我还尝试end通过插入未重新发出该事件的直通流来阻止事件传播,但这完全阻止了测试的运行。最后,我尝试从任务return中获取流;testServer这停止了​​错误,但是尽管updateSpecs每次源更改时都会调用该函数,但测试仅在任务第一次启动时运行。这一次,testServer似乎根本就忽略了新的输入。

gulp-jasmine-browser 文档建议以下代码可以工作:

它继续建议您也可以使用 Browserify 进行这项工作,但这没有说明。显然,gulp-watch 做了一些事情,导致后续管道稍后接受更新的输入。如何用 watchify 模仿这种行为?

0 投票
1 回答
424 浏览

foreach - Gulp:paths.scss.forEach 不是函数

我写了以下 gulp 任务:

另一个任务在哪里js运行,没有任何错误。目前我一直在努力完成这项scss任务,因为我经常收到一条错误消息paths.scss.forEach is not a function。我在我的文件中写了以下内容,该文件与我的package.json文件位于同一目录中gulpfile.js

traceback在 CMD 中有以下内容:

在这种情况下我应该怎么做,因为我现在被困住了,对如何进行没有任何想法。

0 投票
1 回答
86 浏览

javascript - Watchify - 未捕获的 ReferenceError:未定义要求

我需要在我的 javascript 代码中使用类似功能的 Node.js 功能require(),所以我正在使用 watchify,但它仍然给我错误Uncaught ReferenceError: require is not defined at jsfile.js:3,尽管 watchify 捆绑代码并检查到bundle.js文件中,如果我在 localhost 上进行测试,一切都会容易得多,但我已经在 heroku 中托管了我的网站,但我不知道命令队列,我应该先执行 git 命令(git add . git commit -m "commit" git push heroku master)然后 watchify(npm run watch)还是先 watchify,然后再执行 git 命令?还是其他地方有问题?这是我的 package.json 代码(部分)

并在我的 html 中链接 javascript 文件(bundle.js、jsfile.js)

所以我该怎么做?

0 投票
1 回答
7476 浏览

node.js - 监视错误 - npm ERR!缺少脚本:观看

我试图弄清楚如何使用这个名为simple-peer 的库,所以我设置了一个测试项目。它具有以下目录结构:

在此处输入图像描述

这是我的package.json文件的内容:

当我运行此命令时:npm run watch,我收到此错误:

npm 错误!缺少脚本:观看

这是我的调试日志:

知道这里可能有什么问题吗?

我在带有 NodeJS v10.16.0 和 NPM v6.9.0 的 Windows 10 Pro (x86_64) 上。

0 投票
0 回答
25 浏览

javascript - Watchify 编译一次错误然后停止

我在 Windows 10 x64 上,源位于 NFS 单元上。

当我运行脚本时,它给了我这个:

然后它就停止了。

带有browserify的“构建”脚本就像一个魅力,所以它不是我的Javascript代码中的语法错误,我想。

我的 package.json:

.babelrc:

0 投票
0 回答
40 浏览

typescript - 如何在 tsify 和 watchify 中使用 require 函数和 TypeScript 模块?

我将 tsify 与 watchify 和 VS Code 一起使用。编译成功,没有任何警告或错误。

我使用这个命令:

内容utils.ts

在我使用 Utils 的每个文件中,我都放了这个:

在文件的顶部。

问题是在浏览器中我得到这个控制台错误:

所有 TypeScript 文件都在同一个文件夹中。

这是我的tsconfig.json文件:

我该怎么做才能使代码在浏览器中正常工作而不会出现该错误?

谢谢你。

更新 1

这是带有简化示例的存储库。

0 投票
1 回答
75 浏览

javascript - 如何在 AMD 模块系统中使用 tsify 生成捆绑文件,而不是单独的文件或使用未找到的“定义”的文件?

如果我能够使用 ES6 TypeScript 导入/导出语法,我不在乎我使用哪个模块系统。为什么 AMD 只将 main.ts 放在 bundle.js 文件中,而 UMD 将所有需要的模块都放在其中?我如何使用 AMD(我知道这对浏览器有好处)以便 bundle.js 文件包含所有需要的代码?我只是在 AMD 和 UMD 之间进行更改,文件大小也会相应更改:

超微:

1879 字节在 14:57:28 写入 js/bundle.js(0.06 秒)

UMD:

164682 字节在 14:58:10 写入 js/bundle.js(0.34 秒)

如果我使用 UMD,我会在浏览器控制台中收到一个相关错误:

浏览器接收到的内容_prelude.js:一行代码:

所以我什至不能使用UMD。

测试仓库在这里。它包含:

  • 使用 tsify 调用 watchify 的 watch.sh 脚本
  • tsconfig.json
  • package.json (标记为依赖于 knockout.js 包,仅用于测试)
  • index.html(仅测试 bundle.js)
  • ts 目录包含 main.ts 文件,该文件输出到 js 目录

看.sh

tsconfig.json

main.ts

请记住,在运行之前,./watch.sh您必须安装一些 npm 包:

我可以使用什么来代替 bundle.js 实际上是一个包?将来我也希望它被缩小。

我已经看过这个问题,以及该问题评论中的链接,但没有最近的答案(在过去 2 年中)。

谢谢你。

0 投票
0 回答
3710 浏览

javascript - “npm watch”命令不工作,但“npm run watch”命令工作

它说npm start并且npm run start是相同的,那么在我的情况下npm run watch工作正常但npm watch不工作,

以下是我运行时的错误npm watch

我的 package.json 是:

请帮忙澄清一下,为什么我不能在这种情况下使用命令“npm watch”。

0 投票
2 回答
150 浏览

reactjs - Gulp-Watchify 没有检测到对子模块文件夹的更改

watchify-program的没有检测到子模块的变化。

子模块位于 ../js/lib/melajs/**/*.js

但是,当我运行browserify-program它时,它会编译子模块。

下面是两个任务。

应用程序.js

PeriodForm.js

在此处输入图像描述