因為大部分情況下都是使用hash模式,因此很少關心History的使用。
最近再次意識熟悉后端才能全面理解項目,於是開始一些相關性研究。下面是History后端服務代碼,使用了express框架。使用了ejs模板引擎解析HTML文件。
const http = require('http');
const path = require('path');
var ejs = require('ejs'); //我是新引入的ejs插件
const express = require('express');
const app = express();
// 添加中間件,設置從`dist`文件夾中查找文件
app.use(express.static(path.join(__dirname, 'dist')));
app.set('views', './dist') // specify the views directory
app.engine('html', ejs.__express);
app.set('view engine', 'html') // register the template engine
app.use('*',(request, response) => {
// 這里最后沒有調用next扔給下一個中間件,而是直接輸出了響應內容
response.render('index');
});
// 最后,創建server,並且輸出地址
const server = http.createServer(app);
server.listen(3000, () => {
console.log('Listening on %j', server.address());
});
當然還可以使用nginx作為服務端。配置如下
nginx作為Vue單頁面項目后端服務
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
………………
