当我们在开发应用程序时尝试将 browserify 与 watchify 一起使用时,我和我的团队一直遇到同样的问题。
本质上是这里的问题。假设我们有以下文件结构:
js
-- folder1
-- app.coffee
-- required_file.coffee
并app.coffee
具有以下代码:
RequiredFile = require('./required_file')
# Do whatever you were gonna do.
这对我们很有用,我对使用 watchify 后构建运行的速度感到非常满意。
但是,假设我们随后稍微改变了我们的项目结构:
js
-- folder1
-- app.coffee
-- folder2
-- required_file.coffee
但它的内容app.coffee
没有改变,所以它仍然在做以下事情:
RequiredFile = require('./required_file')
# Do whatever you were gonna do.
现在,问题是 Watchify 或 Browserify 似乎都没有这个问题,我怀疑这可能是因为正在进行某种缓存。
然而,一旦该代码被推送到我们的 repo 并且另一个团队成员将其拉下,Browserify 立即抱怨它无法再找到./required_file
,因为 require 语句不正确,它应该是../folder2/required_file
.
谁能向我解释为什么会发生这种情况以及我们如何才能防止它继续发生?