问题标签 [static-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
302 浏览

gzip - 根据 HTTP 请求发送预压缩文件

我刚刚了解了现代浏览器和网络服务器的 gzip 压缩功能。如果我理解正确,服务器会根据浏览器的请求即时压缩。

但是:我在网络服务器上有一些静态的、经过 gzip 压缩的 json 文件。我想简单地发送这些,而不是在每次请求它们时压缩它们。那可能吗?

提前致谢,

0 投票
1 回答
74 浏览

django - 如何告诉 Apache 为 Django 应用程序提供这些文件?

我在 httpd.conf 的末尾有这个配置:

这允许我的应用程序启动,但没有提供静态文件。我正在考虑添加这样的内容:

并告诉 Apache/site_media/.../my/path/myapp/media. 但是,我找不到在 /site_media 和我的媒体目录的实际路径之间建立连接的方法。你能指导我吗?

编辑:我将此添加到 httpd.conf:

但是,Apache 仍然给我 404 错误。我还尝试SetHandler None/site_media/location 元素中添加一个,但我仍然收到相同的 404 错误代码。

0 投票
2 回答
4277 浏览

django - Django中模板和静态文件的位置

我正在计划一个新的 Django 项目,并希望一切顺利。我偶然发现了如何组织项目目录布局的问题。幸运的是,网络上有很多优秀的项目模板示例。尽管如此,我仍然难以理解一件事:

建议将模板文件放在项目根目录下的单独目录中,该目录由应用程序划分为子目录。因此,模板不位于应用程序目录中。这对我来说似乎是合乎逻辑的,因为我们想将应用程序逻辑与表示逻辑分开。但是静态文件呢?在这里,常见的做法似乎是在应用程序目录中找到静态文件,并在开发时将它们加载到项目根目录下的“静态”目录中(collectstatic)。而这个逻辑我不明白。由于静态文件(即 js、css、图像)通常是在模板中访问的,而不是在应用程序代码中,我会将它们算作表示逻辑。那么为什么它们不像模板那样存储——项目根目录下的目录,以及单个应用程序的子目录?

我知道我可以将这些文件存储在任何我想要的地方,但我想人们这样做可能有一个很好的理由。这可能是什么原因?

0 投票
1 回答
23439 浏览

django - Django 静态文件开发

从关于该主题的类似标题的数量来看,这似乎是造成很多混乱的根源,但是尝试使用 django 开发服务器在静态文件上找到的所有东西我几乎已经放弃了希望!

所以我的静态文件是从C:/Users/Dan/seminarWebsite/static/提供的,其中我有用于图像、css 等的子文件夹。

设置:

静态文件应用程序也处于活动状态。

网址:

模板:

然而,只有一个断开的链接出现在这个地址:http://127.0.0.1:8000/homepage/images/vision.jpeg而且我认为它不应该在那个地址(主页是调用静态图像文件的页面的 url 名称)。

0 投票
1 回答
7691 浏览

python - Django:如何在开发环境中获取静态文件的文件路径?

先来点背景。我正在使用以下“技巧”来防止浏览器对静态文件(CSS、JS 等)进行不受欢迎的缓存:

当版本字符串在后续页面加载时发生更改时,它会使浏览器重新从服务器获取静态文件。(谷歌“css缓存”关于这个技巧的文章。)

我希望浏览器获取最新版本的静态文件,但我也希望在文件未更改时允许浏览器缓存。换句话说,当且仅当静态文件已更新时,我希望版本字符串发生变化。我也想自动生成版本字符串。

为此,我使用静态文件的最后修改时间作为版本字符串。我正在制作一个自定义模板标签来做到这一点:

以下是模板标签的工作方式:

要获取静态文件的最后修改时间,我需要知道它在系统上的文件路径。我通过加入settings.STATIC_ROOT和来自该静态根的文件的相对路径来获取此文件路径。这对生产服务器来说很好,因为所有静态文件都收集在STATIC_ROOT.

但是,在开发服务器上(使用 manage.py runserver 命令),静态文件不会收集在STATIC_ROOT. 那么在开发中运行时如何获取静态文件的文件路径呢?

(澄清我的目的:我要避免的缓存情况是浏览器使用新的HTML和旧的CSS/JS不匹配。在生产中,这会极大地混淆用户;在开发中,这会混淆我和其他开发人员,并强制我们经常刷新页面/清除浏览器缓存。)

0 投票
2 回答
1024 浏览

python - 实用的服务器端包括 Google App Engine 上的 Python

有没有一种体面的方法来“模拟”服务器端,包括在 Google App Engine 上使用 Python?

我真的很想将我的静态 html 文件拆分成更小的部分,原因有两个:

  1. 从开发的角度来看,它们将更易于管理
  2. 跨多个页面冗余的 HTML 可以更轻松地重复使用,并且对 HTML 的更新将显示在所有页面上,而不必复制和粘贴更新
0 投票
9 回答
27405 浏览

playframework - 在 Play 中路​​由到静态文件!2.0

我正在尝试创建到特定静态文件的路由,但我尝试的所有内容都以错误结束。

我做了3种不同的尝试:

1.

我得到的错误:

2.

我得到的错误:

3.

我得到的错误:(这是最奇怪的)

关于第三个错误的奇怪部分是它在以下行的不同文件(app/views/main.scala.html)中抛出:

所有这些方法都可以在 stackoverflow 上的官方文档和/或线程中找到。我在这里想念什么?

谢谢。

0 投票
2 回答
2773 浏览

python - Django 1.4 静态文件问题并且不在我项目的其他 url 上呈现

这是我的设置:

在这里我参考了我的样式表(这给了我一个错误):

以及日志中的错误:

我认为我如何解决它:

它一直有效,直到我提出另一个观点 - :

在模板中我添加了 {% extends 'base/base.html' %} 我在日志中得到了什么?这:

注意 /test/? 它不加载css。
知道为什么吗?(​​我从来没有遇到过 django1.3 的这个问题)

提前致谢 :)

0 投票
1 回答
3472 浏览

java - 静态 index.html 文件 - servlet 容器首先被击中吗?

在 appengine 中,index.html 是作为静态文件还是首先涉及到 servlet 容器?例如,假设我有 blabla.com 主机,war/index.html 并且用户访问 http://blbla.com/
我不希望首先命中 servlet 容器以确定它是 welocme 的一部分-file-list 在 web.xml 中配置,只有这样 appengine 才会将其作为静态文件提供。避免服务器往返的唯一方法是让用户点击网址http://blabla.com/index.html吗?
根据文档https://developers.google.com/appengine/docs/java/gettingstarted/staticfiles说:
By default, App Engine makes all files in the WAR available as static files except JSPs and files in WEB-INF/. Any request for a URL whose path matches a static file serves the file directly to the browser—even if the path also matches a servlet or filter mapping.
所以现在的问题:如果我在欢迎文件列表中指定了“index.html”,以下哪项是正确的用户点击http://blabla.com

  1. appengine 知道它必须将 index.html 直接作为静态文件提供服务,并且我的 servlet 容器不需要检查欢迎文件列表。
  2. appengine 不知道它必须从静态文件中提供 index.html 并且我的 servlet 容器被命中只是为了检查 welcome-files-list 然后允许 appengine 将其作为静态文件获取。

如果是 2:将 html 文件用作静态文件的唯一方法是让用户直接在 url 中点击它们,即http://blabla.com/index.html?这是非常重要的时刻,因为这意味着您的 servlet 容器可能会在每个请求时间执行额外的工作来解析欢迎文件列表,这会导致浪费 cpu,如果用户指定了 html 文件的直接路径,则可以避免这种情况。

0 投票
2 回答
2322 浏览

.htaccess - 使用 htaccess 将一堆文件捆绑成一个文件

假设您有一个 css 文件加载器style.php

style1.css 12KB,style2.css 400kgs,红角肥胖的style3.css 800LBs 是静态资源带宽消耗世界冠军!

style.php用来组合这三个文件并将它们发送给客户端。我也在使用类似的 php 文件来组合发送 JS 资源。

是否有一些 htaccess 规则可以告诉我将几个静态资源组合成一个大资源,然后即时发送?

/编辑:

这种类型的工作可以由 htaccess 处理我确定我在某处读过有关包含的服务器文件或类似的东西,但我不记得在哪里。而且我还看到了免费托管服务,无论您在那里托管什么文件,它们都会放置自定义标题或横幅。