Dieser Artikel stellt hauptsächlich die Ideen von Vue zur Lösung des Problems domänenübergreifender Routing-Konflikte vor. Jetzt kann ich ihn mit Ihnen teilen.
Vue. js (Aussprache / vju/, ähnlich view) ist ein fortschrittliches Framework zum Erstellen von Benutzeroberflächen. Dieser Artikel gibt Ihnen eine detaillierte Einführung in die Analyse der Ideen von Vue zur Lösung von domänenübergreifenden Routing-Konflikten. Freunde, die sie benötigen, können sich auf
Vue-Einführung
Vue. js (ausgesprochen /vjuː/, ähnlich wie view) ist ein progressives Framework zum Erstellen von Benutzeroberflächen.proxyTable: { '/goods/*': { target: 'http://localhost:3000' }, '/users/*': { target: 'http://localhost:3000' } },
proxyTable: { '/api/**': { target: 'http://localhost:3000' }, },
proxyTable: { '/api/**': { target: 'http://localhost:3000', pathRewrite:{ '^/api':'/' } }, },
logout(){ axios.post('/api/users/logout').then(result=>{ let res = result.data; this.nickName = ''; console.log(res); }) }, getGoods(){ axios.post('/api/goods/list').then(result=>{ let res = result.data; this.nickName = ''; console.log(res); }) }
Wir können verwenden Die Basis-URL von Axios wird standardmäßig direkt zur API hinzugefügt. Auf diese Weise wird das API-Präfix bei jedem Besuch automatisch hinzugefügt, und wir müssen dieses Präfix nicht manuell auf jede Schnittstelle schreiben Die Eintragsdatei lautet wie folgt:
import Axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios, Axios) Axios.defaults.baseURL = 'api'
Wenn diese Konfiguration 'api/' standardmäßig die lokale Domäne liest
Wenn sie so konfiguriert ist, werden die Produktions- und Entwicklungsumgebungen nicht unterschieden
Erstellen Sie eine neue api.config.js im Konfigurationsordner. Die Konfigurationsdatei
const isPro = Object.is(process.env.NODE_ENV, 'production') module.exports = { baseUrl: isPro ? 'http://www.vnshop.cn/api/' : 'api/' }
wird dann in main.js eingeführt, was eine dynamische Übereinstimmung des Produktions- und Entwicklungsdefinitionspräfixes
import apiConfig from '../config/api.config' import Axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios, Axios) Axios.defaults.baseURL = apiConfig.baseUrl
logout(){ this.$http.post('/users/logout').then(result=>{ let res = result.data; this.nickName = ''; console.log(res); }) }, getGoods(){ this.$http.post('/goods/list').then(result=>{ let res = result.data; this.nickName = ''; console.log(res); }) }
proxyTable: { '/api/**': { target: 'http://localhost:3000', pathRewrite:{ '^/api':'/' } }, },
const isPro = Object.is(process.env.NODE_ENV, 'production') module.exports = { baseUrl: isPro ? 'http://www.vnshop.cn/api/' : 'api/' }
const webpackConfig = (process.env.NODE_ENV === 'testing' || process.env.NODE_ENV === 'production') ? require('./webpack.prod.conf') : require('./webpack.dev.conf')
import apiConfig from '../config/api.config' import Axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios, Axios) Axios.defaults.baseURL = apiConfig.baseUrl
logout(){ this.$http.post('/users/logout').then(result=>{ let res = result.data; this.nickName = ''; console.log(res); }) }, getGoods(){ this.$http.post('/goods/list').then(result=>{ let res = result.data; this.nickName = ''; console.log(res); }) }
: Lassen Sie uns anhand eines Codes lernen. Domänenübergreifende Einstellungen unter Vue 1. Bei der Entwicklung mit Vue treten häufig domänenübergreifende Probleme auf. Tatsächlich gibt es Dateien in Vue CLI uns, domänenübergreifende Anfragen einzurichten. 2. Wenn domänenübergreifende Anfragen nicht gestellt werden können, können wir den Teil dev:{} in index.js im Konfigurationsordner unter dem Projekt ändern.
dev: { env: require('./dev.env'), port: 8080, autoOpenBrowser: false, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { '/api': { target: 'http://api.douban.com/v2', changeOrigin: true, pathRewrite: { '^/api': '' } } }, // CSS Sourcemaps off by default because relative paths are "buggy" // with this option, according to the CSS-Loader README // (https://github.com/webpack/css-loader#sourcemaps) // In our experience, they generally work as expected, // just be aware of this issue when enabling this option. cssSourceMap: false }
Vue.prototype.HOST = '/api'
var url = this.HOST + '/movie/in_theaters' this.$http.get(url).then(res => { this.movieList = res.data.subjects; },res => { console.info('调用失败'); });
So lösen Sie das Problem des falschen Zugriffspfads nach dem Packen des Vue-Hintergrundbilds
Vue- cli ProxyTable So lösen Sie das domänenübergreifende Problem der Entwicklungsumgebung
So lösen Sie das Problem, dass Vue 2.0 die Projektseite in IE11 leer öffnet
Das obige ist der detaillierte Inhalt vonÜber Vues Ideen zur Lösung von domänenübergreifenden Routing-Konflikten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!