因為大部分情況下都是使用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; } ………………