我想提供/dist位于 Nest 项目外部文件夹中的静态 HTML 文件。index.html已成功加载但无法加载任何 JS 文件(404错误)。
我有一个 Node/Express.js 项目,它使用
app.use('/', express.static('../client/dist'))
Run Code Online (Sandbox Code Playgroud)
它工作得很好。
然而,在 Nest 项目中,
app.setBaseViewsDir(join(__dirname, '../../client/dist'))
Run Code Online (Sandbox Code Playgroud)
不做的伎俩。
在AppController我试过
import { Response } from 'express';
@Get()
get(@Res() res: Response) {
res.sendFile('index.html', {
root: '../client/dist',
});
}
Run Code Online (Sandbox Code Playgroud)
但没有运气。
如前所述,index.html已成功加载。所以问题不是走错路。问题也不是 src-paths 错误,index.html因为在 Express 项目中使用了完全相同的文件。
/dist
|-index.html
|-main.js
|-etc.
Run Code Online (Sandbox Code Playgroud)
在 index.html 中:
<script type="text/javascript" src="main.js"></script>
Run Code Online (Sandbox Code Playgroud)
当我将 dist 文件夹放入 Nest 项目(并调整路径)时,它也不起作用。
我现在使用 express 模块:
import * as express from 'express'; …Run Code Online (Sandbox Code Playgroud) 我有一个Nginx配置工作正常,并正确提供静态文件:
location /static/ {
alias /tmp/static/;
expires 30d;
access_log off;
}
Run Code Online (Sandbox Code Playgroud)
但我现在要做的是,如果静态文件不存在/tmp/static,Nginx会查找该文件/srv/www/site/static.我不知道如何实现这一点,我尝试过一些事情try_files,但我不知道如何正确使用它.
Spring Boot的文档说明:
如果您的应用程序将打包为jar,请不要使用src/main/webapp目录.
但令人惊讶的是,静态Web文件的Spring Boot Sample正在使用该/src/main/webapp目录.而且JHipster正在使用该webapp文件夹.
所以我很困惑.Spring Boot文档中的警告是否已过时?现在认为使用src/main/webappSpring Boot jar应用程序提供静态文件是一种好习惯吗?如果没有,在Maven设置中使用Spring Boot时,建议的做法是什么?
有些站点位于共享主机(Windows 2003 Server)上,因此我无法访问服务器配置.
我到处读到有关杠杆浏览器缓存的信息,特别是对于静态文件(jpg,css,js等),但是......在我的情况下如何做到这一点?
主机安装了.NET,web.config文件可以以某种方式帮助吗?如果有,怎么样?
我的Django 1.3项目服务于开发服务器上的静态文件,但没有提供gunicorn服务器静态文件.我按照Heroku指南的步骤进行操作.
当我使用我的proc文件的内容时,如在指南(
web: gunicorn myproject_django.wsgi -b 0.0.0.0:$PORT)中,Heroku无法识别我的项目.
然后我将Procfile更改为:
web: python myproject_django/manage.py run_gunicorn -b 0.0.0.0:$PORT -w 3
Run Code Online (Sandbox Code Playgroud)
现在我的应用运行除了静态文件(css不活动也没有图像).
我的项目树:
.
??? Procfile
??? myproject_django
? ??? core
? ? ??? admin.py
? ? ??? __init__.py
? ? ??? models.py
? ? ??? static
? ? ? ??? css
? ? ? ? ??? base.css
? ? ? ? ??? layout.css
? ? ? ?
? ? ? ??? media
? ? ? ??? pek.ico
? ? ? …Run Code Online (Sandbox Code Playgroud) 我不想使用url_for('static',file_name ='foo.jpg')来获取模板中的静态文件.
如何以这种方式获取静态文件:
<img src="/pic/foo.jpg" />
Run Code Online (Sandbox Code Playgroud)
谢谢
在处理快速项目时,我正在尝试使用express.Router对象来处理我的应用程序路由.在我的主应用程序文件中,我为所有静态文件(css,javascript,html)添加了静态路由.
var express = require('express');
var io = require('socket.io')(app);
var bodyParser = require('body-parser');
var router = require('./include/router');
var app = express();
app.use('/', router);
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.json());
io.on('connection', function(socket) {
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
var express = require('express');
var path = require('path');
var router = express.Router();
router.get('/', function(req, res) {
res.sendFile('/html/index.html');
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
当我尝试访问时,localhost:3000我得到404显示Error: ENOENT, stat 'C:\html\index.html'
此外,当我尝试直接访问静态路由(http://localhost:300/html/index.html我相信),但这给了我Cannot GET /html/index.html.
这是我的公用文件夹的树
public ????css ????hmtl | ????index.html ????img ????js
我错了吗?我该如何解决?
我有一个带有父pom项目的Maven项目和3个maven-module项目.其中2个模块是编译为WAR文件的Java-EE Web应用程序.其中1个模块包含在其他2个项目之间共享的通用JAVA代码.共享JAVA代码很简单.
我的问题是如何共享常见的静态资源,如JavaScript,CSS和图像文件,而不是在每个Web模块中重复它们?我还想这样做,以便我可以继续从Eclipse运行Web应用程序,并对Eclipse运行的服务器自动提供的静态文件进行更改.
可能重复:
使用Sinatra提供静态文件
我注意到Sinatra无法识别公用文件夹子目录中的index.html文件,并在url指向目录时返回错误而未指定文件名.
例如,如果用户输入"www.mydomain.com/subdiretory/"之类的网址,则Sinatra无法识别该目录中是否存在index.html文件.
我的公用文件夹中有数百个子目录,因此无法在代码中指定每个子目录(并且子目录的数量不断增长).
如果url指向没有文件名的目录,如果公共文件夹的子目录中有index.html文件,我怎么能告诉Sinatra单独离开我的Web服务器(Apache)(到服务器index.html文件)?
I'm on Rails 5.2.2 and I'm building a web app that uses some static HTML, CSS, and JavaScript that I'm serving from inside of the public directory. Much of the time when I update a file it doesn't update in my browser when I refresh, but if I go into private browsing it works -- until it caches again and then I need to open a new private window.
How can I turn off caching for file in the public …