安裝 sails
cnpm i sails -g
新建sails 項目
sails new sails-test(項目名稱)
安裝依賴
cd sails-test/
cnmp i
啟動
node app.js
設置代理
config/http.js 文件
order: [
'startRequestTimer',
'cookieParser',
'session'
'proxyMiddleware',
'myRequestLogger',
'bodyParser',
'handleBodyParserError',
'compress',
'methodOverride',
'poweredBy',
'$custom',
'router',
'www',
'favicon',
'404',
'500'
],
proxyMiddleware: require('../api/middleware/proxy')
添加依賴:
cnpm i http-proxy-middleware -S
middleware/proxy.js 文件
var proxy = require('http-proxy-middleware')
var target = 'http://127.0.0.1:8084'(地址)
var myProxy = proxy('/api', {
target,
changeOrigin: true,
logLevel: 'debug',
pathRewrite: {
'^/api': '/'
},
onProxyReq(proxyReq, req, res) {
// TODO
},
onProxyRes(proxyRes, req, res) {
// TODO
// sails.log.debug(res)
}
})
所有符合該規(guī)則的請求都會被轉發(fā)
———————————————————————————————————————————————————————
設置路由
config/routes.js 文件
module.exports.routes = {
'/': {
view: 'homepage'
},
'/login': 'Login.login'
}
通過 blueprints.js 在controller 中實現(xiàn)
controllers 文件下新建 LoginController.js
默認必須以 Controller
結尾
module.exports = {
login (req, res) {
console.log(11)
res.ok(200)
}
}
請求路徑 '/login/login'
———————————————————————————————————————————————————————
設置請求過濾
1.定義過濾規(guī)則
config/middleware.js :實現(xiàn)了http.js 中默認的 '$custom'
module.exports = {
http: {
customMiddleware: function (app) {
//配置請求過濾值
app.use('/dashboard', function (req, res, next) {
console.log(req.session.user)
if (req.session.user) {
next();
} else {
res.redirect('/login');
}
});
}
}
}
2.定義路由
config/router.js : 路由配置文件
'/dashboard': {
view: 'index'
},
'get /login': {
view: 'login'
},
'post /lofin': 'Login.login'