在現代化的Web開發中,網站的開發周期已經從過去的數月甚至數年縮短到了數周或數天。為了使得開發過程更加高效,許多MVC框架已被開發出來,以便更好地使得開發更容易,代碼更清晰,在調試和維護代碼時更為方便。Realse就是其中之一。
一、安裝和分析
Realse 是一個基於 Node.js 的 MVC 框架,支持 ES6 語法,可用於 Web 開發。它主要適用於快速建立網站,API 服務和單頁應用,提供了易於使用的路由系統,集成了常見中間件,可以快速平滑地擴展到 MongoDB 和 Redis,也支持自定義中間件和自定義錯誤處理。Realse還支持可變的模板,無需繁瑣的配置即可使用以 .ejs、.pug、.jade、.hbs 和 .handlebars 為擴展名的多個模板引擎。安裝Realse框架非常簡單:
npm install realse -g
一旦你完成安裝,你就可以在你的命令行中使用 realse 命令。執行以下命令,你將在當前文件夾中生成一個名為 myrealse 的應用程序:
realse init myrealse
cd myrealse
npm install
接下來,你可以運行以下命令啟動你的應用程序:
npm start
在用瀏覽器訪問 localhost:3000 後,你將看到固定返回內容的響應。在 myrealse/app.js 文件中,你可以看到這段代碼:
app.get('/', function (req, res) {
res.send('Welcome to Realse!');
});
這段代碼告訴應用程序當我們訪問首頁時需要發送給瀏覽器的內容。接下來你可以根據自己的需要添加更多的路由,將它們分配給RESTful API,將它們分配給控制器。
二、路由使用方法
當你使用Realse開發Web應用的時候,應該優先考慮如何使用正確的路由。為了使用Realse的路由,需要在 app.js 文件中加入下面這行代碼:
const routes = require('./routes');
接著,在 app.js 文件中加入以下中間件,用於配置和啟動路由:
app.use('/', routes);
在 routes/index.js 文件中我們會用到Realse的路由方法,如下所示:
const express = require('express');
const router = express.Router();
/* GET home page. */
router.get('/', (req, res, next) => {
res.render('index', { title: 'Express' });
});
module.exports = router;
路由方法需要告訴我們應用程序如何處理HTTP GET請求。在這個例子中,Realse會把請求的URL ‘/『 暴露給res,使得我們能夠使用res.render 來渲染我們的上下文對象,進而渲染我們的天空(如頁面標題等)。
三、自定義中間件
使用Realse的中間件是很方便的,因為像 Body Parser、Morgan 和 Cors 這樣的常見中間件已經集成在框架中,你無需手動添加常見的中間件。但是,有時你需要添加自己的中間件。為了添加自定義中間件,你需要調用 express.js 的 use 方法。下面是添加自定義中間件的代碼:
const myMiddleware = (req, res, next) => {
console.log('Executing myMiddleware');
next();
};
app.use('/myroute', myMiddleware, (req, res) => {
res.send('Hello from my route!');
});
在這個例子中,我們定義了一個 myMiddleware 中間件,在路由中使用它。
四、MongoDB和Redis支持
Realse可在快速建立網頁,API服務和單頁應用的基礎上支持MongoDB和Redis。要使用MongoDB,我們可以這樣做:
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, client) {
assert.equal(null, err);
console.log("Connected successfully to server");
const db = client.db('testdb');
db.collection('mycollection').find({}).toArray(function(err, docs) {
assert.equal(err, null);
console.log("Found the following records");
console.log(docs);
client.close();
});
});
對於Redis,我們需要使用 redis-node-client 庫來進行常規操作。使用docker 安裝redis服務後,我們可以這樣來使用redis:
const redis = require('redis');
const client = redis.createClient({
host: '192.168.99.100',
port: 6379
});
client.on('connect', function() {
console.log('connected');
});
client.set('mykey', 'Hello Redis', redis.print);
client.quit();
我們使用client.quit() 方法來關閉連接。
原創文章,作者:JFLYZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/360560.html