代码之家  ›  专栏  ›  技术社区  ›  stev0thegreat

如何在调试期间保持源文件夹和生成文件夹同步?

  •  0
  • stev0thegreat  · 技术社区  · 8 年前

    最近,更新了一个PHP项目,使用源文件夹和构建文件夹。我们使用Gulp从Git存储库中提取“src”文件夹和项目配置文件后,将项目从“src’”文件夹构建到“build”文件夹。

    project_root
      |
      ├── src
      | 
      ├── build
      |
      └── {project configuration files}
    

    前端和后端开发人员目前都在运行我们设置的“gulpwatch”,以保持“src”和“build”文件夹同步。

    我们遇到的最大麻烦之一是,在浏览器中调试项目时,我们经常打开报告错误的错误文件,并修改代码,直到它在浏览器中正常工作。然而,在调试过程中,我们对“build”文件夹中的文件进行了多次更改,然后我们不得不手动在“src”文件夹中进行更改(这在一开始经常被忽略)。

    是否有任何方法可以解决此工作流问题?

    决斗观察者接近

    我考虑制作一个两个文件查看器,分别检测“build”和“src”文件夹中的更改。当任一监视检测到更改时,关闭其他文件夹监视程序,处理更改的文件并同步其他文件夹,然后重新打开其他文件夹的监视程序。

    (这似乎是大锤式的做法。)

    IDE方法

    我们PHPStorm和Sublime Text 3取决于开发者。在Sublime Text中,我只是将“build”文件夹从项目中排除,这样我就不会在默认情况下意外打开它。(然而,我在调试PHP时不小心打开了“build”文件夹文件。)

    另外

    也许我们处理项目结构的方式通常需要改进。前端和后端开发通常是协同完成的。有什么建议吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   stev0thegreat    5 年前

    在发布这篇文章后,我对这个问题疯狂地挥舞了几个小时后,我找到了自己问题的答案。

    事实证明,处理这一问题的最佳方法是使用 IDE方法 并为项目创建路径映射:

    PHP风暴 (documentation)

    • 设置PHP服务器
      • 检查“使用路径映射”选项。
      • 在我们的例子中,我们映射了 '../src' 文件夹到 '../build'

    带有“Xdebug Client”包的Sublime文本

    • 首选项包设置Xdebug设置-用户

      • 将以下内容添加到Xdebug中。升华设置文件:

      {
        "path_mapping": {
          "C:/wamp/www/your-project/build" : "C:/wamp/www/your-project/src"
        }
      }
      

    一旦设置了路径映射,就可以在 “../src” 文件夹运行调试会话 “../build” 文件夹将在同一位置断点。