Webstorm 上下文文件夹总是包含在 url 路径中?

Webstorm Context Folder always included on url path?

根据我的理解,WebStorm 具有上下文根的概念(基本上是项目的根目录,用于源目的)和资源根文件夹,Web 请求可以从中解析。

我有一个像

这样的项目结构
Projects (Context Root)
      |
      MyProject  (ResourceRoot)
         |--- html
         |----css
         |----images

我想像这样访问我的 html 文件 http://localhost:34343/html/index.html

然而那是不可能的。我可以访问文件的唯一方法是当 'Projects' 上下文根构成我的 url 的一部分时。例如 http://localhost:34343/项目/html/index.html

(请注意,资源根似乎在某种程度上起作用,因为我可以省略路径的 'MyProject' 部分。

我有一些 css 具有绝对引用,它们想要访问 /images,当必须包含上下文根时,它们会中断。据我所知,移动上下文根 'down' 一个级别不会有帮助,因为它需要在路径上 'MyProject'。

我想我可能会强制它使用像 apache 这样的东西,这样我可以更好地控制 url 分辨率,但理想情况下我会使用 IDE 的内置服务器.

http://localhost:63342/html/index.html -- 你不能有这种 URL 内置网络服务器 .. 因为 IDE 不知道要服务的项目(因为它适用于您所有的项目,不仅当前打开)。

当使用内置网络服务器时,URL 必须有一些提示 (PROJECT_NAME) 来告诉要服务的项目(从哪里获取文件)。

内置网络服务器支持 2 种 URLs(它们都将提供相同的文件):

http://localhost:63342/PROJECT_NAME/index.html
http://PROJECT_NAME:63342/index.html

如果您对第 2 个感到满意 URL,那么您将必须执行以下步骤:

  1. 创建部署条目 (Settings/Preferences | Build, Execution, Deployment | Deployment) 并将其标记为该项目的默认值。当从 IDE.

    中打开页面时,将使用那里定义的 URL (http://PROJECT_NAME:63342/)

    如果您想使用 Open in Browser 功能,这是必需的,否则您可以安全地跳过它。

  2. 在您的 hosts 文件(或您的本地 DNS 服务器,如果有的话)中定义一个将 PROJECT_NAME 指向您的 IP 的条目。例如(对于 hosts 文件):127.0.0.1 PROJECT_NAME.