【问题标题】:HTML editor "Cannot resolve directory"HTML 编辑器“无法解析目录”
【发布时间】:2015-11-12 06:06:08
【问题描述】:

PHPStorm/WebStorm 在 HTML 文件中针对本地资源的链接发出警告。

我的项目结构是:

hello-world
|--assets
|  |--css
|  |--images
|  |--js
|  +--lib
|     +--foo
|        |--foo.js
|        +--foo.css
|--src
|--templates
|  |--foo.html
|  +--bar.html
|--test
|--packages
+--index.php

鉴于我将 foo.html 呈现给用户,Apache 只能在相对于 Apache 的根目录引用它们时定位本地资源,即:

src="/hello-world/assets/lib/foo/foo.js"
href="/hello-world/assets/lib/foo/foo.css"

但 PHPStorm/WebStorm 只会将这些文件解析为:

src="/assets/lib/foo/foo.js"
href="/assets/lib/foo/foo.css"

这当然会在 Apache 尝试为它们提供服务但找不到它们时导致 404 错误。

我尝试更改目录设置,将我的项目根目录设为资源根目录,将资产文件夹设为资源根目录、lib 文件夹等。没有什么能让 IDE 满意,而且我的所有 HTML 和 JavaScript 代码都充满了错误的错误和未解决的引用。

【问题讨论】:

    标签: phpstorm webstorm


    【解决方案1】:

    通过修改 Apache 配置修复它:

    <VirtualHost *:80>
        DocumentRoot /var/www
        <Directory /var/www/hello-world>
            Order allow,deny
            Allow from all
        </Directory>
        Alias /assets /var/www/hello-world/assets
    </VirtualHost>
    

    现在我可以将文件引用为"/assets/lib/foo/foo.js"。远非理想,但 Apache 可以找到它们并且 PHPStorm/WebStorm 很高兴。

    【讨论】:

    • “远非理想,但 Apache 可以找到它们……” 是的。这就是为什么你应该学习和配置 Apache 以使用虚拟主机(每个站点单独的域/url)——这样它就更像是互联网上某个地方的真实服务器上的真实网站。
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 2014-03-26
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 2013-07-22
    • 2022-11-12
    • 2012-07-12
    相关资源
    最近更新 更多