【问题标题】:Webstorm Context Folder always included on url path?Webstorm 上下文文件夹总是包含在 url 路径中?
【发布时间】:2015-10-07 10:38:55
【问题描述】:

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

我有一个类似的项目结构

Projects (Context Root)
      |
      MyProject  (ResourceRoot)
         |--- html
         |----css
         |----images

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

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

(请注意,resourceroot 似乎在某种程度上可以工作,因为我可以省略路径的“MyProject”部分。

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

我猜我可能会强制它使用 apache 之类的东西,这样我可以更好地控制 url 解析,但理想情况下我会使用 IDE 中的内置服务器。

【问题讨论】:

  • Projects 在您的情况下是 PROJECT_NAME。另一个可以使用的 URL 是http://PROJECT_NAME:63342/...。 URL 中需要项目名称,以便内置 Web 服务器识别要服务的文件(与 Web 服务器配置中的主机/服务器名称相同)。
  • 要求名称是有道理的,我猜在多个项目的上下文中(尽管我通过单独的服务器端口会更好)。我对PROJECT_NAME:63342 语法很好奇。我想我必须在我的主机文件中设置一个 localhost 别名才能做到这一点? webstorm 会自动识别 project_name 吗?
  • 没关系,试一试,它有效..想将您的评论升级为答案

标签: webstorm


【解决方案1】:

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

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

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

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

如果您对第二个 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

【讨论】:

  • 什么是 PROJECT_NAME ?我有 c:\xampp\htdocs\...
  • @CristianE。 PROJECT_NAME 是您在 WebStorm 中的项目名称。 AFAIK 此功能现在可能已被删除。如果您需要这样的设置,我建议使用适当的 Web 服务器(例如 XAMPP 中的 Apache)来提供您的文件。
猜你喜欢
  • 2020-10-06
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 1970-01-01
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多