【问题标题】:Best NodeJS Workflow for team development团队开发的最佳 NodeJS 工作流程
【发布时间】:2016-08-17 13:56:20
【问题描述】:

我正在尝试实现 NodeJS 和 Socket.io,以便在我的公司产品中的两个设备(PC 和智能手机)之间进行实时通信。

基本上我想要实现的是当有人更改文件内容时向所有在线用户发送通知。

保存更新的所有基本功能都已经存在,因此,当所有内容都被存储和计算后,我向我的 Node 服务器发送一个 POST 请求,说发生了一些变化,他需要通知用户。

现在的问题是,当我想更改NodeJS脚本中的一些代码时,只要我一个人工作,我可以通过FTP上传新文件并重新启动pm2服务,但是我的同事会开始工作与我一起讨论这个故事,我们将无法在不重叠的情况下合并我们的更改。

启动本地服务器也是不可能的,因为我们需要当前服务器和节点机器之间的连接,并且由于我们的服务器在线,它无法访问我们的本地主机。

有没有办法让团队在同一个 Node 服务器上一起工作,但又不会相互重叠?

【问题讨论】:

    标签: node.js git workflow collaboration


    【解决方案1】:

    使用其他选项而不是 FTP 来实施更改。例如:

    您可以在认证或非认证模式下使用 webdav-fs:

    // Using authentication: 
    var wfs = require("webdav-fs")(
            "http://example.com/webdav/",
            "username",
            "password"
        );
    
    wfs.readdir("/Work", function(err, contents) {
        if (!err) {
            console.log("Dir contents:", contents);
        } else {
            console.log("Error:", err.message);
        }
    });
    

    putFileContents(remotePath, format, data [, options]) 将一些数据从 Buffer 或 String 放入 remotePath 的远程文件中。数据是缓冲区或字符串。 options 有一个名为 format 的属性,它可以是“二进制”(默认)或“文本”。

    var fs = require("fs");
    
    var imageData = fs.readFileSync("someImage.jpg");
    
    client
        .putFileContents("/folder/myImage.jpg", imageData, { format: "binary" })
        .catch(function(err) {
            console.error(err);
        });
    

    并使用回调通知您的团队,或通过回调锁定文件。

    参考文献

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-08
      • 2014-07-05
      • 2018-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      相关资源
      最近更新 更多