云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云解析_东莞网站建设费用_企业0元试用

小七 141 0

大家好,

简介

我一直在玩CAP for NodeJS,为客户开发商业应用程序,以及一些有趣的项目。在这些应用程序中,我还必须添加一个UI5应用程序来与CAP框架的服务层交互。UI通常要求OData服务版本v2,而CAP框架提供OData服务版本v4。为此,SAP提供了一个"odatav2adapterproxy"作为npm包。关于如何在CAP项目中实现这一点,已经有一个教程:https://developers.sap.com/tutorials/cap-cloudsdk-2-v2-adapter.html

除了本教程,Gregor Wolf在GitHub上也有一个很好的示例项目,介绍了如何实现这一点:https://github.com/gregorwolf/bookshop-demo

两者都将帮助您在CAP项目中完美地实现ODataV2适配器代理。不过,在这个博客中,我想与大家分享如何将这个odatav2适配器代理设置为与原始服务器完全相同的、具有CAP所有功能的服务器。这也将使您可以从命令"cds run"运行代理,而不需要另一个npm脚本来运行代理。

除此之外,我还将分享我是如何实现这个代理的。

开始创建CAP项目

开始,按照本教程中的步骤创建一个基本CAP项目:

https://cap.cloud.sap/docs/get-started/in-a-nutshell简介

如果您运行"npm install",npm将在您的项目中安装cds npm包。通常这是不需要的,因为这可能是全球安装。要使用代理,您需要这样做才能使用代理中的cds模块。

原件服务器.js"实现

如果您查看node\u modules文件夹(运行"npm install"之后),您将发现一个文件"服务.js"

如果尚未在本地安装,在线自助建站系统,您可以在全局npm包中查找此文件:

%appdata%\npm\node\u modules\@sap\cds dk\node\u modules\@sap\cds

查看此文件中的代码时,您会注意到以下行:

这行代码将查找"服务器.js"npm包本身中的文件或用于自定义"服务器.js"在CAP项目中的实施。如果CAP发现服务器.js文件,它将使用您的版本而不是默认版本。"这个"服务器.js"需要打电话"服务器.js"并且需要位于"srv"文件夹中,否则CAP将找不到它。

这意味着,一旦您创建了一个"服务器.jsCAP项目的"srv"文件夹中的文件,物联网断路器,微信返利机器人哪个好,"cds run"将使用您的实现服务器.js"

现在,有一个完整版本的"服务器.js"为了不从头开始,你可以找到原件"服务器.js"这里的CAP版本:

这可以作为您的服务器.js"版本:

实现您自己的"服务器.js"

在我们实施之前"服务器.js"我们需要通过运行以下npm来安装代理命令:

npm i@sap/cds-odata-v2-adapter-proxy

(如果尚未完成,请运行npm install。这会将cds npm包添加到您的项目中,您需要在服务器.js"文件)

创建"服务器.js"srv"文件夹中的文件:

从服务器.jsCAP框架的文件(参见本博客前面的内容)。此版本的"服务器.js"尚未包含或使用代理。我们仍然没有v2 OData服务。为了实现这一点,我们需要将代理应用到服务器.js"代码。这可以通过添加以下代码来完成:

2。在返回声明前申请代理:

3。这还行不通。"原件"服务器.js"将尝试从节点模块的lib文件夹加载html索引页。如果我们想在我们的实现中这样做,那么这个html索引页的路径将是不同的。其次,在本地运行时与在SCP中运行时也会有所不同。在本地运行应用程序时,从根级别启动"cds run",但部署后,企业软件公司,服务将拥有自己的模块。这个小补丁将使代理在本地工作,当部署到SCP时:

您可以在GitHub上找到完整的代码:https://github.com/lemaiwo/CAP-UI5-APP/blob/master/srv/server.js

——更新

如Gregor Wolf所述,医疗物联网,而不是复制原件服务器.js"文件,您可以按照的自述文件中的说明创建一个较短的版本OData v2适配器代理:

https://gregorwolf.github.io/SAP-NPM-API-collection/API/cds-odata-v2-adapter-proxy/

就是这样,OData服务现在将支持v4和v2!

运行您的实现

这可以通过简单地运行命令来测试:"cds Run"

结果将与v2和v4版本完全相同。原始url仍将公开ODatav4。添加"/v2/"将提供OData v2版本:

无需为您的服务器.js"文件:

希望它能帮助你,享受用CAP构建应用程序的乐趣