linux運(yùn)行vue編譯后的項(xiàng)目方式
如果你的 Vue 項(xiàng)目使用了 history 模式(而非默認(rèn)的 hash 模式),在純靜態(tài)服務(wù)器中會(huì)出現(xiàn)類似的問題。因?yàn)?Vue Router 的 history 模式要求所有未匹配的路徑都重定向到 index.html,以便 Vue 前端處理路徑。
首先在本地執(zhí)行npm run build編譯項(xiàng)目,會(huì)生成一個(gè)dist的項(xiàng)目源碼文件
1.創(chuàng)建一個(gè)簡(jiǎn)單的 HTTP 服務(wù)器
修改你的 server.js,確保所有未匹配的請(qǐng)求都返回 index.html。
const http = require('http');
const fs = require('fs');
const path = require('path');
const PORT = 14515;
http.createServer((req, res) => {
let filePath = path.join(__dirname, req.url === '/' ? '/index.html' : req.url);
fs.readFile(filePath, (err, data) => {
if (err) {
// 如果文件不存在,返回 index.html
fs.readFile(path.join(__dirname, 'index.html'), (err, indexData) => {
if (err) {
res.writeHead(500, { 'Content-Type': 'text/plain' });
res.end('500 Internal Server Error');
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(indexData);
}
});
} else {
// 返回找到的文件
const ext = path.extname(filePath).toLowerCase();
const mimeTypes = {
'.html': 'text/html',
'.js': 'application/javascript',
'.css': 'text/css',
'.json': 'application/json',
'.png': 'image/png',
'.jpg': 'image/jpg',
'.gif': 'image/gif',
'.svg': 'image/svg+xml',
};
res.writeHead(200, { 'Content-Type': mimeTypes[ext] || 'application/octet-stream' });
res.end(data);
}
});
}).listen(PORT, () => {
console.log(`Server running at http://0.0.0.0:${PORT}/`);
});
2.運(yùn)行
在 dist 目錄下啟動(dòng)服務(wù)器:
node server.js nohup node server.js & //在后臺(tái)可以運(yùn)行
項(xiàng)目目錄

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Apache NameVirtualHost *:80 has no VirtualHosts問題解決辦法
這篇文章主要介紹了Apache NameVirtualHost *:80 has no VirtualHosts問題解決辦法,一個(gè)很簡(jiǎn)單的配置性錯(cuò)誤,需要的朋友可以參考下2014-08-08
Linux下使用SSH遠(yuǎn)程執(zhí)行命令方法收集
這篇文章主要介紹了Linux下使用SSH遠(yuǎn)程執(zhí)行命令方法收集,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
Centos7 利用LVM實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容的方法
本篇文章主要介紹了Centos 7 利用LVM實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
Linux物理機(jī)區(qū)分SSD與HDD的常見方法
在 Linux 系統(tǒng)中,我們經(jīng)常需要確認(rèn)一塊硬盤究竟是 固態(tài)硬盤 (SSD) 還是 機(jī)械硬盤 (HDD),以便做合理的存儲(chǔ)規(guī)劃和性能評(píng)估,本文給大家介紹了Linux物理機(jī)區(qū)分SSD與HDD的常見方法,需要的朋友可以參考下2025-09-09
Linux 系統(tǒng)雙網(wǎng)卡綁定配置實(shí)現(xiàn)
這篇文章主要介紹了Linux 系統(tǒng)雙網(wǎng)卡綁定配置實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
使用FileZilla從Linux系統(tǒng)下載文件的方法
最近做項(xiàng)目,遇到這樣的需求,要求將Linux系統(tǒng)的的某個(gè)文件夾下載到我Windows系統(tǒng)某個(gè)文件夾里,怎么實(shí)現(xiàn)這個(gè)功能呢?下面腳本之家小編給大家?guī)砹耸褂肍ileZilla從Linux系統(tǒng)下載文件的方法,感興趣的朋友一起看看吧2018-07-07
關(guān)于crontab定時(shí)任務(wù)命令解讀
這篇文章主要介紹了關(guān)于crontab定時(shí)任務(wù)命令的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07

