【发布时间】:2014-04-26 19:00:05
【问题描述】:
我有以下gulpfile
我正在使用emberate,它接受一个回调,当生成的文件(在本例中为client/.index.js)被写入时调用。现在browserify 任务依赖于该文件,因此它不应该在 emberate 完成后运行。但我得到不同的结果,有时它有效,有时我得到这个:
错误:无法从“/Users/myuser/workspace/myproject”中找到模块“./client/.index.js”
来自browserify(是的,该文件还不存在)..我不确定我做错了什么,我在我的emberate任务中有done作为回调,而browserify任务取决于emberate。 . 我错过了什么?
编辑:发现了一个小模式,如果我运行它并且没有错误,下次我运行gulp 时会收到错误,但下次我不会,所以每隔一段时间o.O
如果我运行gulp emberate,那效果很好。然后,如果我运行gulp browserify,它将运行以下内容:
[gulp] Using file /Users/myuser/workspace/myproject/gulpfile.js
[gulp] Working directory changed to /Users/myuser/workspace/myproject
[gulp] Running 'clean'...
[gulp] Finished 'clean' in 3.11 ms
[gulp] Running 'emberate'...
[gulp] Finished 'emberate' in 22 ms
[gulp] Running 'browserify'...
[gulp] Live reload server listening on: 35729
events.js:72
throw er; // Unhandled 'error' event
^
Error: Cannot find module './client/.index.js' from '/Users/myuser/workspace/myproject'
at /Users/myuser/workspace/myproject/node_modules/browserify/node_modules/resolve/lib/async.js:36:25
at load (/Users/myuser/workspace/myproject/node_modules/browserify/node_modules/resolve/lib/async.js:54:43)
at /Users/myuser/workspace/myproject/node_modules/browserify/node_modules/resolve/lib/async.js:60:22
at /Users/myuser/workspace/myproject/node_modules/browserify/node_modules/resolve/lib/async.js:16:47
at Object.oncomplete (fs.js:107:15)
这个最新的version 似乎可以工作,但是在监视文件是否被更改期间,它不会清理client/.index.js 文件,而是不断添加到它o.O(尽管运行gulp emberate 有或没有@ 987654333@ 依赖可以正常工作..)。
【问题讨论】:
标签: javascript ember.js gulp browserify