Laravel поставляется с vuejs из коробки. Он также включает vue-ресурс для выполнения HTTP-запросов в ваших компонентах vue.
Недавно автор vuejs Эван Ю объявил, что vue-ресурс удаляется из организации vue на GitHub. Причины этого шага связаны с тем, что проект больше не поддерживается активно, и есть альтернативы получше.
Axios - это библиотека, которую Эван рекомендовал в качестве альтернативы. Я попробовал и первым делом добавил перехватчик для присоединения токена csrf. Вот как я это сделал:
- Сначала нам нужно установить пакет
$ yarn add axios # You can also do: npm install axios
2. Удалите vue-ресурс.
$ yarn remove vue-resource
3. Удалите оператор импорта и шаблон для перехватчика vue-resource в resources/js/app.js
4. Добавьте перехватчик axios в resources/js/bootstrap.js
5. Я также добавил следующее, чтобы получить доступ к аксиомам с помощью this.$http
Vue.prototype.$http = axios;
Я обнаружил, что это ближе к реализации vue-resource и делает миграцию очень простой.
Теперь где угодно в моих компонентах vue я могу назвать аксиомы следующим образом:
this.$http.get('api/user') .then(result => {//do something});
Спасибо за прочтение.
Обновлено: исправлен код в последнем примере.