我目前的專案即將結束,但我仍然收到一個錯誤。我似乎無法弄清楚為什么我收到錯誤:
“加載資源失敗:服務器回應狀態為 404(未找到)”。
下面是我的檔案布局、server.js 和腳本標簽。我的布局與我過去所做的所有其他專案相同,但由于某種原因,此錯誤不斷出現。
服務器.js
"use strict";
// DEPENDENCIES
require("dotenv").config();
const express = require("express");
const session = require("express-session");
const passport = require("passport");
const path = require("path");
const ejs = require("ejs");
const logger = require("morgan");
var createError = require("http-errors");
var cookieParser = require("cookie-parser");
const flash = require("connect-flash");
const favicon = require("serve-favicon");
// ROUTES REQUIRED
const main = require("./routes/main");
const about = require("./routes/about");
const contact = require("./routes/contact");
const profile = require("./routes/profile");
const pricing = require("./routes/pricing");
const help = require("./routes/help");
const login = require("./routes/login");
const signup = require("./routes/signup");
const forgot_password = require("./routes/forgot-password");
// PORT
const port = 3000;
const app = express();
// COOKIES AND SESSION
app.use(
session({
secret: process.env.SECRET,
resave: false,
saveUninitialized: true,
})
);
app.use(passport.initialize());
app.use(passport.session());
// DATABASE
require("./config/database.js");
// PASSPORT AUTHENTICATION
require("./config/passport.js");
// VIEWS SETUP
app.set("views", path.join(__dirname "/views"));
app.set("view engine", "ejs");
app.set("view cache", false);
// MIDDLEWARE
app.use(favicon(__dirname "/public/favicon.ico"));
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
app.use("/public", express.static(path.join(__dirname "/public")));
app.use(flash());
// ROUTES
app.use("/", main);
app.use("/about", about);
app.use("/contact", contact);
// PRICING
app.use("/pricing", pricing);
// PROFILE
app.use("/profile", profile);
app.use("/help", help);
app.use("/login", login);
app.use("/signup", signup);
app.use("/forgot-password", forgot_password);
// Logout
app.get("/logout", function (req, res) {
res.clearCookie("connect.sid");
res.redirect("/");
});
app.listen(process.env.PORT || port, (err, done) => {
if (!err) {
console.log({ message: "success!" });
} else {
return err;
}
});
home.ejs(帶有腳本的主頁布局。)
--------------------------------------------------------------------------
<section class="ad-analytics">
<div class="container-fluid ad-analytics__contain">
<div class="row ad-analytics__row">
<div class="col-md-6" id="meetings-img-holder">
<!-- bg-img holder -->
</div>
<div class="col-md-6 ad-analytics__textbox">
<div class="col-sm-12 ad-analytics__info">
<h1 class="h2">Analytical Precision</h1>
<p>
Getting ahead of the curve is the best way to scale above the
compeititon. With our machine learning tools, you can leverage
your data and get real insight on what your customers want from
you.
</p>
<a
class="btn btn-outline-light btn-sm"
href="/machine-learning"
role="button"
>Get Started</a
>
</div>
</div>
</div>
</div>
</section>
<%- include('partials/footer.ejs') %>
<%- include('partials/scripts.ejs') %>
</body>
</html>
------------------------------------------------------------------------------------
(Inside partials/script.js)
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg OMhuP IlRH9sENBO0LRn5q 8nbTov4 1p"
crossorigin="anonymous"
></script>
<script type="javascript" src="/server.js"></script>
檔案布局

uj5u.com熱心網友回復:
您不應該使用<script>標簽來匯入服務器端檔案,例如server.js,此檔案用于運行節點服務器
假設您為主頁制作了一個腳本,您需要將其保存在里面,/public然后通過將其添加到瀏覽器將其發送給客戶端以供瀏覽器解釋partials/scripts.ejs
例子
<script type="javascript" src="/home_script.js"></script>
路徑將是
public/home_script.js
編輯:感覺你還是有點困惑所以我舉個例子
在server.js你有
const main = require("./routes/main");
app.use("/", main);
考慮檔案main.js就像從一個檔案中取出一個函式server.js并將其移動到一個檔案中
現在main.js我猜你有這樣的功能:
router.get('/', (req,res,next) => {
res.render('home.ejs')
})
上面的代碼是服務器端代碼的一部分,不應發送給用戶(客戶端)
現在里面home.ejs
有你的部分,然后是腳本部分
<script type="javascript" src="/bootstrap.bundle.min.js"></script>
<script type="javascript" src="/home_script.js"></script>
這個檔案home_script應該包含你想要在頁面到達后做的事情user(我們稱之為客戶端)
舉個例子:
如果您有按鈕并且您想在單擊時執行某些操作,請在 home_script.js 中撰寫 javascript 的那部分
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/390754.html
