【发布时间】:2018-03-24 06:24:50
【问题描述】:
我已经构建了一个 angular5 客户端应用程序和一个 nodejs(使用 express)服务器应用程序,分别在端口 4200 和 3000 上工作。现在我想将它们合并到一个应用程序中作为可交付成果。
将 angular 文件夹复制到 nodejs 中是否有效? 不知道该怎么做。
【问题讨论】:
标签: node.js angular express angular5
我已经构建了一个 angular5 客户端应用程序和一个 nodejs(使用 express)服务器应用程序,分别在端口 4200 和 3000 上工作。现在我想将它们合并到一个应用程序中作为可交付成果。
将 angular 文件夹复制到 nodejs 中是否有效? 不知道该怎么做。
【问题讨论】:
标签: node.js angular express angular5
从代码组织的角度来看。 对于开发,请将每个应用程序保存在自己的文件夹中,例如
nodejs
angular-app
在生产中,
nodejs
public
angular-dist-folder
部署脚本可以为您处理这个问题,您应该避免手动复制粘贴东西,保持代码井井有条很重要,这对于任何项目的成功和健康都是绝对重要和至关重要的。
编辑:
我想补充一点,现代 JS 项目使用某种文件系统观察程序,例如 fs.watch 。将应用保存在单独的目录中,可防止在开发过程中不必要地重新运行进程。
【讨论】:
在您的 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'));
});
【讨论】: