sails

安装 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'

你可能感兴趣的:(sails)