Swift 在Vapor中在何处创建自己的文件?

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类,没有任

我刚刚尝试使用Vapor创建一个web应用程序,但当我尝试在项目中定义自己的变量/常量,并将其写入main.swift时,出现了以下错误

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中构建和/或运行它,则不行。你知道它有什么特别的地方吗?