我們使用 node、express 和 ejs 構建了一個 Web 應用程式。我們要部署到 CPanel。我們復制了檔案夾,頁面沒有呈現。我們是否需要更改路由以反映新的檔案夾結構和/或安裝節點和 CPanel 服務器中的所有依賴項?我確實移動了一些東西并玩了一些路線,但沒有取得太大的成功。在我的本地主機上,我可以完美地看到它,但是一旦啟動它就不起作用。
到目前為止,我的 index.ejs 是這樣的:
<head>
<meta charset="UTF-8">
<title>Test de Zülliger</title>
<link rel="stylesheet" href="styles/style.css">
<link rel="shortcut icon" href="images/favicon.png">
</head>
app.js 是這樣的:
const express = require('express');
const path = require('path');
const methodOverride = require('method-override');
const app = express();
const ejsMate = require('ejs-mate');
app.engine('ejs', ejsMate);
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
app.use(express.urlencoded({ extended: true }))
app.use(methodOverride('_method'));
app.use(express.static(path.join(__dirname, 'public')))
app.get('/', (req, res) => {
res.render('index')
});
app.get('/localizaciones', (req, res) => {
res.render('localizaciones/map')
});
app.get('/drawingpad', (req, res) => {
res.render('drawingpad/drawing-pad')
});
app.get('/finalizar', (req, res) => {
res.render('finalizar/finalizar')
});
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`Serving on port ${port}`)
});
我的檔案夾結構:

我確實將 index.ejs 放在視圖中并沒有任何區別,CSS 不會渲染,當在瀏覽器上手動撰寫 map.ejs 時,它會顯示所有代碼,根本沒有渲染。
uj5u.com熱心網友回復:
僅通過復制檔案進行靜態部署僅適用于靜態應用程式,例如 React 應用程式的構建檔案夾。
必須安裝 Node.js 并啟動服務器才能使您的應用程式正常作業。本教程應該可以幫助您在 cpanel 中執行此操作。
uj5u.com熱心網友回復:
我不確定 CPanel 是如何作業的,但據我所知(我確實使用 MERN 堆疊),您需要一個檔案中的所有代碼。因此你需要yarn run buildor npm run build,這將創建一個構建檔案夾。之后您只上傳該檔案夾并在您的主機中指定它
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/312231.html
標籤:javascript css 节点.js 表达 ejs
