安装 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)
}
})
所有符合该规则的请求都会被转发
———————————————————————————————————————————————————————
设置路由
config/routes.js 文件
module.exports.routes = {
'/': {
view: 'homepage'
},
'/login': 'Login.login'
}
通过 blueprints.js 在controller 中实现
controllers 文件下新建 LoginController.js
默认必须以 Controller
结尾
module.exports = {
login (req, res) {
console.log(11)
res.ok(200)
}
}
请求路径 '/login/login'
———————————————————————————————————————————————————————
设置请求过滤
1.定义过滤规则
config/middleware.js :实现了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'