【问题标题】:merge existing nodejs server app with the existing angular2/5 client app将现有的 nodejs 服务器应用程序与现有的 angular2/5 客户端应用程序合并
【发布时间】:2018-03-24 06:24:50
【问题描述】:

我已经构建了一个 angular5 客户端应用程序和一个 nodejs(使用 express)服务器应用程序,分别在端口 4200 和 3000 上工作。现在我想将它们合并到一个应用程序中作为可交付成果。

将 angular 文件夹复制到 nodejs 中是否有效? 不知道该怎么做。

【问题讨论】:

    标签: node.js angular express angular5


    【解决方案1】:

    从代码组织的角度来看。 对于开发,请将每个应用程序保存在自己的文件夹中,例如

    nodejs
    angular-app
    

    在生产中,

    nodejs
      public
        angular-dist-folder
    

    部署脚本可以为您处理这个问题,您应该避免手动复制粘贴东西,保持代码井井有条很重要,这对于任何项目的成功和健康都是绝对重要和至关重要的。

    编辑: 我想补充一点,现代 JS 项目使用某种文件系统观察程序,例如 fs.watch 。将应用保存在单独的目录中,可防止在开发过程中不必要地重新运行进程。

    【讨论】:

      【解决方案2】:

      在您的 Angular 文件夹中,运行 ng build --watch。这将构建您的项目并创建一个dist 文件夹。此外,它将监视任何代码更改并重新构建。
      您可以将此 dist 文件夹复制到节点项目的 public 文件夹中,并在 server.js 文件中进行一些更改以集成它。

      您可以使用nodemon server.js 来查找节点项目的变化。

      以下是我在 server.js 中进行的更改以使其正常工作。

      app.use(express.static(path.join(__dirname, 'public/dist')));
      app.get('*', (req, res) => {
          res.sendFile(path.join(__dirname, 'public/dist/index.html'));
      });
      

      【讨论】:

        猜你喜欢
        • 2016-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-18
        • 2012-12-05
        • 2013-05-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多