Swift 在Vapor中在何处创建自己的文件?
我刚刚尝试使用Vapor创建一个web应用程序,但当我尝试在项目中定义自己的变量/常量,并将其写入main.swift时,出现了以下错误Swift 在Vapor中在何处创建自己的文件?,swift,xcode,xcode8,vapor,Swift,Xcode,Xcode8,Vapor,我刚刚尝试使用Vapor创建一个web应用程序,但当我尝试在项目中定义自己的变量/常量,并将其写入main.swift时,出现了以下错误 let websiteURL = "http://localhost:8080" // in AppConstants.swift let url = websiteURL // in main.swift 未解析标识符的使用:websiteURL 但是,似乎可以看到Controllers目录中定义的PostController类,没有任
let websiteURL = "http://localhost:8080" // in AppConstants.swift
let url = websiteURL // in main.swift
未解析标识符的使用:websiteURL
但是,似乎可以看到Controllers
目录中定义的PostController
类,没有任何问题。我将AppConstants.swift
放在与main.swift
相同的目录中,但它得到了上面的错误
在传统的iOS/macOS应用程序中,这是我到目前为止开发的唯一一个项目,如果你在项目中创建任何文件,我认为它们可以在项目中的任何地方看到
那么,如何以及在何处在Vapor中创建和定义自定义文件呢
更新 这是我项目中的
包.swift
文件:
import PackageDescription
let package = Package(
name: "vapor_sample",
dependencies: [
.Package(url: "https://github.com/vapor/vapor.git", majorVersion: 1, minor: 0)
],
exclude: [
"Config",
"Database",
"Localization",
"Public",
"Resources",
"Tests",
]
)
更新2 我发现出于某些原因,Vapor创建的默认文件使用目录后缀命名,比如
Controllers/PostController.swift
,而不是PostController.swift
。我尝试将AppConstants.swift移动到目录下,但它没有显示带有目录后缀的文件名。有什么相关的吗?我使用Xcode 8.0
与SwiftPM和服务器端Swift相关的Xcode项目通常有点挑剔。你应该尽可能经常和有规律地回复。此外,清理和删除派生数据也不会有什么坏处。以下是您可能需要重新生成的一些情况:
- 新文件
- 更改文件名
- 新文件夹
- 新包装
- 更改软件包版本
- 喜欢吗
基本上,任何时候Xcode出现问题,你都不知道从哪里开始。清理、删除派生、重新生成。与SwiftPM和服务器端Swift相关的Xcode项目通常有点挑剔。你应该尽可能经常和有规律地回复。此外,清理和删除派生数据也不会有什么坏处。以下是您可能需要重新生成的一些情况:
- 新文件
- 更改文件名
- 新文件夹
- 新包装
- 更改软件包版本
- 喜欢吗
基本上,任何时候Xcode出现问题,你都不知道从哪里开始。清除,删除派生,重新生成。@JoshCaswell啊,很抱歉,这是未解析的标识符,不是未声明的类型。但是,由于AppConstants.swift中的枚举获取了未声明的类型,这意味着首先看不到该文件。您的
Package.swift
看起来像什么?@AntonBronnikov已更新。该包似乎还可以。如果将AppConstants.swift
放在与main.swift
相同的文件夹中,也就是说,/Sources/App
应该使其声明对应用程序的其余部分“可见”。检查该文件中是否存在语法错误。或者尝试执行swift build--clean
,然后再次重建。@AntonBronnikov谢谢,我刚刚发现在终端中执行swift build--clean,然后再次构建是可行的,但如果您在Xcode中构建和/或运行它,则不行。你知道它有什么特别的地方吗?@JoshCaswell啊,对不起,这是一个未解析的标识符,不是未声明的类型。但是,由于AppConstants.swift中的枚举获取了未声明的类型,这意味着首先看不到该文件。您的Package.swift
看起来像什么?@AntonBronnikov已更新。该包似乎还可以。如果将AppConstants.swift
放在与main.swift
相同的文件夹中,也就是说,/Sources/App
应该使其声明对应用程序的其余部分“可见”。检查该文件中是否存在语法错误。或者尝试执行swift build--clean
,然后再次重建。@AntonBronnikov谢谢,我刚刚发现在终端中执行swift build--clean,然后再次构建是可行的,但如果您在Xcode中构建和/或运行它,则不行。你知道它有什么特别的地方吗?