Heim > Artikel > Web-Frontend > Wie füge ich einen ProxyTable-Proxy in Nuxt hinzu?
Wenn Sie bei der lokalen Entwicklung von Vue-Projekten daran gewöhnt sind, proxyTable
lokale domänenübergreifende Probleme zu lösen und zu nuxt
zu wechseln, werden Sie feststellen, dass die proxyTable
-Einstellungen hinzugefügt werden Das funktioniert nicht. Das liegt daran, dass Sie das Vue-Gerüst zum Generieren des Vue-Projekts verwendet haben, das bereits den entsprechenden proxyTable
-Einstellungscode für Sie geschrieben hat.
build/dev-server.js
// proxy api requests Object.keys(proxyTable).forEach(function (context) { var options = proxyTable[context] if (typeof options === 'string') { options = { target: options } } app.use(proxyMiddleware(options.filter || context, options)) })
Dies ist in Form von Express-Middleware und die verwendete Abhängigkeit ist http-proxy-middleware
nuxt hat auch das Konzept von Middleware, aber das hier Middleware Die Datei ist nicht die Middleware von Express. Wie fügen wir sie also zu Nuxt hinzu?
Zuerst Abhängigkeiten installieren
npm install --save-dev express http-proxy-middleware
und dann eine Datei im Stammverzeichnis erstellen server.js
const { Nuxt, Builder } = require('nuxt') const app = require('express')() var proxyMiddleware = require('http-proxy-middleware') var config = require('./nuxt.config') // 我们用这些选项初始化 Nuxt.js: const isProd = process.env.NODE_ENV === 'production' const nuxt = new Nuxt({ dev: !isProd }) // 生产模式不需要 build if (!isProd) { const builder = new Builder(nuxt) builder.build() } // proxy api requests这里就是添加的proxyTable中间价的设置了 var proxyTable = config.dev.proxyTable Object.keys(proxyTable).forEach(function (context) { var options = proxyTable[context] if (typeof options === 'string') { options = { target: options } } app.use(proxyMiddleware(options.filter || context, options)) }) app.use(nuxt.render)//这里是添加nuxt渲染层服务的中间件 app.listen(3000) console.log('Server is listening on http://localhost:3000')
und dann in nuxt.config.js
den folgenden Code hinzufügen
module.exports = { dev: { proxyTable: { '/api': { target: 'http://localhost:7001', // pathRewrite: { '^/api': '/' } } } } }
und dann node server.js
ausführen.
Wenn Sie die Ausführung als unpraktisch empfinden, können Sie den Befehl zur Datei package.json
hinzufügen.
{ "scripts": { "dev": "nuxt --port=8080", "build": "nuxt build", "start": "nuxt start", "generate": "nuxt generate", "lint": "eslint --ext .js,.vue --ignore-path .gitignore .", "precommit": "npm run lint", "server": "node server.js" } }
Verwandte Empfehlungen:
So fügen Sie Videos zur Website hinzu
So fügen Sie Cookies zum HTTP-Anfrageheader hinzu
Das obige ist der detaillierte Inhalt vonWie füge ich einen ProxyTable-Proxy in Nuxt hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!