Vue: запросы прокси к отдельному внутреннему серверу с помощью vue-cli - PullRequest
0 голосов
/ 24 апреля 2018

Я использую шаблон веб-пакета vue-cli для генерации своих проектов, и я хотел бы прокси-запросы на отдельный внутренний сервер.Но я получил сообщение об ошибке следующим образом.

Может кто-нибудь сказать мне, что случилось с моим кодированием?

Большое спасибо!

Сообщение об ошибке

[HPM] Error occurred while trying to proxy request from localhost:8080 to http://localhost:3000 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)

config -> index.js

proxyTable: {
'/api':{
    target: 'http://localhost:3000',
    changeOrigin: true,
    pathRewrite: {
    '^/api': ''
    }
 }

src -> main.js

import Vue from 'vue'
import App from './App'
import VueRouter from 'vue-router'
import routerConfig from './router.config.js' 
import Axios from 'axios'


Vue.config.productionTip = false;
Vue.prototype.$axios = Axios;
Vue.prototype.HOST = '/api';

Vue.use(VueRouter);

const router = new VueRouter(routerConfig) 

new Vue({
 el: '#app',
 router,  
 components: { App }, 
 template: '<App/>',
})

src -> App.vue

export default{

created(){
  var url = this.HOST
  this.$axios.get(url,{

  }).then((res)=>{

   console.log(res.data)

  },(res)=>{

  alert(res.status)
  })
 }
}

сервер

const express = require('express');
const mysql = require('mysql');

const db = mysql.createPool({
  localhost:'localhost',
  user:'root',
  password:'123456',
  database:'blog'
})

const server = express();

server.use('/api',(req,res)=>{

db.query(`SELECT * FROM articles_table`,(err,data)=>{
   if(err){
     console.error(err);
     res.status(500).send('database error').end();
   }else{
     res.send(data)
   }
 })

})
server.listen(3000)

1 Ответ

0 голосов
/ 24 апреля 2018

Выполните следующие действия:

npm install --save-dev concurrently

Добавьте к scripts в package.json:

"server": "node server.js",
"go": "concurrently --kill-others \"npm run dev\" \"npm run server\""

И используйте с этого момента:

npm run go

Естественно, вы можете переименовать go во что угодно.

...