问题标签 [perfect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
107 浏览

swift - Swift Perfect 的功能请求 - RAML

根据http://perfect.org/feature-requests.html

我想要求开箱即用地包含RAML功能。

我希望在服务器上看到类似以下内容以提供 RAML 文档:

这将添加一个路由,该路由在匹配时会为所有 RAML 路由创建一个完整的 RAML 文件。

RAML 路由可能应该以与 MustachePageHandler 类似的方式创建,但分为 RamlDescriptionHandler、RamlValidateRequestHandler、RamlRequestHandler 和 RamlResponseHandler。

RamlDescriptionHandler

这应该负责:

  • 描述请求/响应
  • 自动为请求创建文档(当服务器文档匹配时)

RamlValidateRequestHandler

  • 验证和类型转换请求

然后应该注入 HTTPRequest.ramlRequestData 和 HTTPRequest.ramlRequestIsValid。这应该不需要应用程序开发人员采取任何行动。

RamlRequestHandler

由开发人员编写的应用程序逻辑,应检查并使用 HTTPRequest.ramlRequestData 和 HTTPRequest.ramlRequestIsValid

应该设置 HTTPResponse.ramlStatus(HTTP 状态码)和 HTTPResponse.ramlData

RamlResponseHandler

应验证响应并根据 RamlDescriptionHandler 发送匹配,应用程序开发人员不采取任何行动。

0 投票
2 回答
893 浏览

mysql - 使用 Perfect - MySQL 连接器启用对 MySQL 数据库的访问

我将使用 Swift 创建 Web 应用程序。我与 MySQL 的连接有问题。我使用 PhpMyAdmin 进行 MySQL 数据库管理。在我看来,最好的方法是使用 Perfect。我已经按照Perfect-MySQL Connector做了一切!不幸的是,我在 main.swift 中调用函数 useMysql 时遇到问题。我想知道它是否写得正确。我在文件 main.swift 中调用函数 useMysql:

然而,在文件 mysql_quickstart.swift 中,我们用两个参数定义函数:

我不确定,但也许我应该这样称呼它?-

我没有任何错误,但是函数 useMysql 似乎从未执行过。我知道从项目文件中附加代码不是一个好习惯,但也许它会很有用。 这是我的代码有什么建议吗?提前致谢。

我还找到了其他 Perfect - MySQL Connector 教程,但我不确定哪种方式更好?顺便说一句,我想知道在一个项目中使用多个框架是否是个好主意?例如 Perfect 和 Kitura 或 Vapor 呢?

编辑: 你认为以这种方式使用它是什么?

0 投票
1 回答
1654 浏览

html - Swift - 使用 HTML 的蒸汽

我最近从Perfect切换到Vapor。在 Perfect 中,您可以在不使用 html 文件的情况下执行此类操作。

在 Vapor 中,我发现返回 html 的唯一方法就是这样做。如何在不使用蒸汽中的 html 文件的情况下返回 html 代码?

0 投票
2 回答
294 浏览

swift - Swift Perfect Heroku 无法检测到 set buildpack

我正在尝试将Perfect应用程序部署到 Heroku,但我只成功地使用 Perfect 自己的build pack让 Swift 编译器在 Herolu 上运行。但是,此构建包使用 Swift 2.2,而我的应用程序在 Swift 3 上运行。

然后我尝试了各种其他构建包,包括vaporneonichu和看似最受欢迎的一个:kylef

但是对于他们每个人,我在推送到 Heroku 时都会收到相同的错误消息:

我觉得我已经用尽了我的选择,所以这是我最后的尝试。

0 投票
3 回答
5431 浏览

swift - /usr/bin/ld: 在尝试“快速构建”Perfect2 项目时找不到适用于 Ubuntu 的 -lstdc++

描述:

我已经按照Swift3Perfect2的安装步骤, 克隆了Perfect 提出的PerfectTemplate测试项目,我已经尝试过swift build

错误信息:

警告:建议的最低 clang 版本为 3.6,否则您可能会遇到链接器错误。链接 ./.build/debug/PerfectTemplate /usr/bin/ld:找不到 -lstdc++ clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用):0:错误:链接命令失败,退出代码1(使用-v查看调用):0:错误:构建有1个命令失败错误:退出(1):/etc/swift301/usr/bin/swift-build-tool -f /home/XXXX/ClionProjects/PerfectTemplate /.build/debug.yaml

我试过的:

我已经解决了不同的 SO 问题,这些问题看起来很相似,但都在不同的项目上,并试图尝试他们的解决方案,但没有运气:

例如:

Matlab Kalman /usr/bin/ld:找不到-lstdc++

我还注意到来自 clang 版本的警告,我知道我当前的版本是 3.4,但这是通过sudo apt-get install clang文档中提到的安装的。

我还尝试使用以下命令安装 3.6 版本的 clang:sudo apt-get install clang-3.n

但是,当我swift build再次尝试后,我收到以下错误:

错误:推断的工具链无效:找不到clang

问题:

如何摆脱/usr/bin/ld: cannot find -lstdc++错误,以便构建 PerfectTemplate 项目?

0 投票
1 回答
197 浏览

swift - 在服务器启动期间使用 Perfect 终止 Swift-Server 的最佳实践是什么?

我正在使用 Perfect 服务器端 Swift,并且在 main.swift 中有一些条件,服务器应该在实际启动之前终止。是否有处理此终止的最佳实践?

目前,我抛出一个错误,因为 areturn不起作用——因为它不在函数的上下文中(见This is the error I'm throwing and concerned about.下文)。这是我到目前为止所拥有的:

0 投票
1 回答
117 浏览

linux - 完美/Swift 编译在 OSX 中工作,在 Linux 中失败

所以我正在使用 Perfect 服务器来开发一个将值返回给客户端的应用程序。目前,它要求它从另一个 API 下载一些数据,对其进行处理,然后将其发送给客户端。

然而,出于某种原因,它在 OSX 中编译得很好,但在 Linux 中却没有。Linux 似乎不喜欢这些类型,但我看不出有什么区别。我已经在 Linux 上安装了 Swift 3.0.1,并且因为我在 OSX 上安装了 Xcode 8.1,所以它也是相同的版本(是的,我检查过)。

这是编译器在 Linux 中失败的地方:

以下是编译器有问题的行:

104:

116:

在这个片段中,“getAllPrices”函数返回一个我命名为“bw”的元组。我将所有返回的错误附加到一个“错误”字典中,在那里它们可选地存储为 AnyObject。我将字典设为可选的原因是函数当然不会返回错误。

0 投票
1 回答
882 浏览

swift - 缺少 xcode 8.1 调试符号

当使用 swift 包管理器(特别是https://github.com/PerfectlySoft/PerfectTemplate.git)生成具有可执行文件(main.swift)的项目时,我失去了在使用 Xcode 8.1 及更高版本时访问本地调试符号的能力(见下图1)。这是否特定于 PerfectTemplate 和/或是否有我可以实施的修复?

我已经在 Xcode 8.1 和 8.2、Swift 3.0.1 和 3.0.2 PREVIEW 1 上进行了尝试。此外,我的优化级别设置为无(见下图 2)。这在 Xcode 8.1 之前不是问题,也就是说,在本地符号表下方显示的同一断点处确实填充了。此外,当我直接为完美的模板可执行文件 lldb 快速构建时,本地符号填充为 3.0.2 而不是为 3.0.1(见下图,图 3)。最后,对于所有其他不可执行的 Xcode 项目,SPM 或其他,Xcode 版本和 Swift 版本都可以正确调试并生成本地符号表。

图 1(缺少本地符号): 图 2(构建优化级别): 图 3(3.0.2 的成功 lldb):

0 投票
2 回答
1230 浏览

swift - 如何使用 Perfect 在 CURL 中发出 post 请求

我已经建立了一个完美的服务器,并且我已经编写了所有的 API,但是我被困在 CURL 上,我不知道如何设置我以前从未使用过 CURL 的标头。

我正在设置支付网关,我想设置授权标头并发送正文数据,但我不知道该怎么做。

从示例http://perfect.org/docs/cURL.html

我提到了这个但没有帮助怎么办?

https://curl.haxx.se/libcurl/c/

0 投票
1 回答
690 浏览

swift - Swift“构建”无法在 Ubuntu 16.04 上运行

我最近按照https://github.com/PerfectlySoft/PerfectDocs/blob/master/guide/gettingStarted.md上描述的命令安装了 swift

安装好像没问题。

swift --version是 python-swiftclient 3.2.0

但是当swift build它说“没有这样的命令:构建”

我应该做些什么?