如何将Node代理访问实现改写为支持长尾关键词的?

2026-04-06 13:421阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计601个文字,预计阅读时间需要3分钟。

如何将Node代理访问实现改写为支持长尾关键词的?

Node.js 代理访问+1. 环境+本地开发,代理访问,防止跨域(通常通过webpack配置代理即可),特殊情况下如携带自定义的登录cookie等需要通过自写Node作为server中间层,单线程异步可。

NODE代理访问

1. 场景

  • 本地开发,代理访问,防止跨域(一般通过webpack配置代理即可),特殊情况如携带一些自定义的登录cookie则需要通过自己写node
  • 作为一种server中间层,单线程异步可以缓解服务器压力。长链接websocket通常使用node搭建

2. 技术框架

  • node - koa2 体量小,轻便易用。
  • 路由koa-router koa配套路由,中间件支持async
  • koa2-request 基于async对 request的封装,这里本人git上找的,可靠性带考量,若基于生产环境建议使用request自行封装
  • koa-bodyparser 请求参数解析格式化-中间件

3. 上代码

3.1 创建应用 app.js

const Koa = require('koa') const bodyParser = require('koa-bodyparser') // 路由 const router = require('./router') const app = new Koa() app.use( bodyParser({ // 返回的对象是一个键值对,当extended为false的时候,键值对中的值就为'String'或'Array'形式,为true的时候,则可为任何数据类型。 extended: true }) )

3.2 允许跨域 app.js

app.use(async (ctx, next) => { ctx.set('Access-Control-Allow-Origin', '*') ctx.set('Access-Control-Allow-Headers', 'content-type') ctx.set( 'Access-Control-Allow-Methods', 'OPTIONS,GET,HEAD,PUT,POST,DELETE,PATCH' ) await next() })

3.2 使用路由

// app.js app.use(router.routes()) // router.js const Router = require('koa-router') let koaRequest = require('./xt.eqxiu.com/tui/app/radar/test/getToken?companyId=${constConfig.companyId}&staffId=${constConfig.staffId}` try { let res = await koaRequest(url, 'GET') iToken = res.obj console.log('token已拿到:' + iToken) } catch (e) { console.log(e) } } } getTestToken() module.exports = koaRequest

3.4 最后设置端口等

const app = require('./app') //const createWebsocket = require('./websocket') const server = require('http').createServer(app.callback()) server.setTimeout(2 * 60 * 1000) //设置超时时间 const { PORT = 3000 } = process.env server.listen(PORT, () => { console.log(`Listening on port ${PORT}`) })

3.5 本地开发,热重启

安装 nodemon

yarn add nodemon

设置忽略监听

如何将Node代理访问实现改写为支持长尾关键词的?

nodemon.josn node项目根目录下

{ "ignore": ["node_modules/*"] //忽略node_modules下文件修改的监听 }

package.josn

通过npm run server启动

{ "dependencies": { "koa": "^2.8.1", "koa-bodyparser": "^4.2.1", "koa-router": "^7.4.0", "koa2-request": "^1.0.4", "nodemon": "^1.19.1" }, "scripts": { "server": "nodemon index.js" } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计601个文字,预计阅读时间需要3分钟。

如何将Node代理访问实现改写为支持长尾关键词的?

Node.js 代理访问+1. 环境+本地开发,代理访问,防止跨域(通常通过webpack配置代理即可),特殊情况下如携带自定义的登录cookie等需要通过自写Node作为server中间层,单线程异步可。

NODE代理访问

1. 场景

  • 本地开发,代理访问,防止跨域(一般通过webpack配置代理即可),特殊情况如携带一些自定义的登录cookie则需要通过自己写node
  • 作为一种server中间层,单线程异步可以缓解服务器压力。长链接websocket通常使用node搭建

2. 技术框架

  • node - koa2 体量小,轻便易用。
  • 路由koa-router koa配套路由,中间件支持async
  • koa2-request 基于async对 request的封装,这里本人git上找的,可靠性带考量,若基于生产环境建议使用request自行封装
  • koa-bodyparser 请求参数解析格式化-中间件

3. 上代码

3.1 创建应用 app.js

const Koa = require('koa') const bodyParser = require('koa-bodyparser') // 路由 const router = require('./router') const app = new Koa() app.use( bodyParser({ // 返回的对象是一个键值对,当extended为false的时候,键值对中的值就为'String'或'Array'形式,为true的时候,则可为任何数据类型。 extended: true }) )

3.2 允许跨域 app.js

app.use(async (ctx, next) => { ctx.set('Access-Control-Allow-Origin', '*') ctx.set('Access-Control-Allow-Headers', 'content-type') ctx.set( 'Access-Control-Allow-Methods', 'OPTIONS,GET,HEAD,PUT,POST,DELETE,PATCH' ) await next() })

3.2 使用路由

// app.js app.use(router.routes()) // router.js const Router = require('koa-router') let koaRequest = require('./xt.eqxiu.com/tui/app/radar/test/getToken?companyId=${constConfig.companyId}&staffId=${constConfig.staffId}` try { let res = await koaRequest(url, 'GET') iToken = res.obj console.log('token已拿到:' + iToken) } catch (e) { console.log(e) } } } getTestToken() module.exports = koaRequest

3.4 最后设置端口等

const app = require('./app') //const createWebsocket = require('./websocket') const server = require('http').createServer(app.callback()) server.setTimeout(2 * 60 * 1000) //设置超时时间 const { PORT = 3000 } = process.env server.listen(PORT, () => { console.log(`Listening on port ${PORT}`) })

3.5 本地开发,热重启

安装 nodemon

yarn add nodemon

设置忽略监听

如何将Node代理访问实现改写为支持长尾关键词的?

nodemon.josn node项目根目录下

{ "ignore": ["node_modules/*"] //忽略node_modules下文件修改的监听 }

package.josn

通过npm run server启动

{ "dependencies": { "koa": "^2.8.1", "koa-bodyparser": "^4.2.1", "koa-router": "^7.4.0", "koa2-request": "^1.0.4", "nodemon": "^1.19.1" }, "scripts": { "server": "nodemon index.js" } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。