基本问题生产中的第一个Node + express + Angular应用

时间:2019-04-05 05:40:30

标签: node.js angular express

我正在创建我的第一个应用程序节点快速应用程序,该应用程序的前端使用的角度为7,以便在生产中部署。我有以下问题吗?

  1. 首选哪种文件夹结构,我应该单独创建吗? 节点和角项目或相同项目(根目录中的server.js 角项目和服务器文件夹的创建快速服务器 文件)?首选的是什么,我必须签入项目 在svn的一个文件夹中。

  2. 我应该使用babel并通过es2015创建节点服务器代码还是 继续使用旧方法吗?

5 个答案:

答案 0 :(得分:0)

这完全取决于您,我正在做的是我有单独的Angular和Node projet目录

project 

|

client - Your anguar project 
server - Your Apis and server side coding (Only this folder require at productino level)
  

然后,我们可以创建一个gulp文件和任务来gulp构建我的客户端   项目,并将该构建文件夹放入

server -> public

现在只有服务器可用于将Build呈现为静态的生产环境。

在身份验证和身份验证过程旁边,您可以遵循基于JWT的权限。

答案 1 :(得分:0)

通常我想说,将客户端和服务器代码分成单独的项目是可取的,这样一来,当您对一个或另一个进行更改时,不必同时释放客户端和服务器。我剩下的答案是基于这样的假设,即您将双方分为不同的项目。

就构造基于服务器端Express的应用程序而言,请查阅this link,以获取有关如何处理您的情况的一些指导。请参阅第一个问题的答案,即关于如何针对不同的部署方案构造Express应用程序的不同方法。另外,如果您使用最新的LTS版本的node,则无需使用编译器将文件转换为Javascript,因为Node环境将为您处理该问题。

关于构建客户端基于Angular的应用程序,请查看this link,以获取有关构建Angular应用程序的最佳实践的非常详细的讨论。

答案 2 :(得分:0)

我宁愿遵循,以防将来您需要将API层与客户端分开,您可以轻松做到这一点,

__id.forEach(fn.bind({/*this*/}, ...args))

这将帮助您灵活地进行客户端和服务器集成,而无需紧密耦合。易于维护和调试。

答案 3 :(得分:0)

答案1:您应该为前端和后端创建两个单独的文件夹/存储库结构。

让我们假设您的应用程序那时增长迅速,您想要扩展后端,并且希望使用Amazon-S3将Angular应用程序托管为静态Web应用程序,那么在那时这将非常容易管理。

也许您想使用CICD,在这种情况下,最好使用单独的文件夹,以便您可以为后端和前端创建单独的CICD作业。

可能是您的公司雇用了一些开发人员,这些开发人员要么只是前端专家,要么只是后端专家。在这种情况下,您的公司不想给他们不必要的代码访问权限。因此,在这种情况下,单独的回购将是一个简单的选择。 (这可能取决于您的团队和公司的开发方法)

答案2:我建议您使用es6或es6 +功能。

最新的node.js版本支持es6的某些功能。例如 -点差算子 -破坏 -类(可以使用OOP) -箭头功能 -让,const -异步等待等等

如果node.js不支持任何其他功能,则可以使用babel。可能有使用babel的原因,但是我想知道您想与babel一起使用哪个特定功能?所以我可以据此解释。

答案 4 :(得分:0)

我使用以下方法将Angular Application和Node服务器绑定为一个单元。

创建项目结构的步骤是:

  1. 使用CLI创建一个新的Angular项目。
  2. 在项目的根目录中创建一个server.js文件,并将其配置为在dist/路由上呈现/文件夹的内容。

您可以引用服务器代码的链接:https://github.com/nikhilbaby/node-server

运行服务器

我通常使用ng build && node server运行项目。这将确保首先构建角度应用程序,然后再启动该节点服务器。