我正在设置一个 Actix 服务器,它将托管各种静态文件,其中 Web 应用程序的流量通过这台服务器运行。但是,当我尝试提供文件时,它将提供我的资产文件夹和我的 HTML 文件,而不是我的 JavaScript 文件。
我尝试使用 NamedFile 没有任何优势,我尝试使用“./index.js”、“index.js”,并将其移动到自己的 js 文件夹并尝试“js/index.js”。
main.rs
HttpServer::new(|| {
App::new()
.service(
web::scope("/")
// Checksheet
.service(
web::scope("/checksheet")
.route("/save", web::get().to(save_checksheet))
.service(
fs::Files::new("", "./quality-
checksheet/public/")
.index_file("index.html")
)
)
索引.html
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Quality Checksheet</title>
<script src="index.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet">
项目结构
.
+-- src
| +-- main.rs
+-- checksheet
| +-- public
| +-- assets
| +-- badge.img
| +-- index.html
| +-- index.js
当我的服务器启动并进入页面时,index.js 文件为空,但 assets 文件夹中有页面中使用的图像,并且 index.html 页面正在显示。