Недавно я начал изучать vue.js и в настоящее время использую vue.js с vue-simple-webpack шаблон, экспресс и монго для разработки простого приложения. Я использую localhost для разработки и тестирования приложения.
интерфейс приложения работает на порту 8080, а сервер работает на другом порту (3000)
Вот мой server.js
, где у меня есть простой API для получения данных из моего localdb
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const mongodb = require('mongodb');
const bodyParser= require('body-parser');
const app = express();
var db;
var URL='mongodb://localhost:27017/'+'mydb';
console.log(URL);
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.urlencoded({extended: true}))
app.use(bodyParser.json())
MongoClient.connect(URL, (err, database) => {
if (err)
return console.log(err);
db = database;
app.listen(3000, () => {
console.log('listening on 3000');
})
})
app.get('/products', (req, res) => {
db.collection('products').find().toArray(function(err, results) {
console.log(results)
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(results));
})
})
проверил server.js, он работает. см. скриншот ниже.
Приложение Vue работает в http://localhost:8080/
с использованием конфигурации шаблона веб-пакета по умолчанию. я пытаюсь вызвать конец API /products
из файла vue.js, используя $http get следующим образом...
export default {
name: 'Products',
methods: {
get: function() {
// GET request
this.$http({
url: '/products',
method: 'GET'
}).then(function(response) {
console.log('ok');
}, function(response) {
console.log('failed');
});
}
}
}
Но я получаю следующую ошибку в консоли браузера.
Как видите, хотя я использую порт 3000
в server.js
, когда я пытаюсь получить доступ к концу API /products
, он фактически проходит через порт 8080
. Поэтому он выдает ошибку HTTP 404 .
Мой вопрос заключается в том, как я могу получить доступ к концу API из внешнего интерфейса, который работает в другом порту. Это вообще возможно?
Могу ли я использовать здесь API-прокси . Если да, может ли кто-нибудь указать мне правильное направление, как это сделать, поскольку в Интернете не так много информации.
$http()
должен позволить вам указать порт. - person theGleep   schedule 17.10.2017