В корне моего приложения у меня есть / node_modules / и / src /
Я запустил npm install и установил пакеты, используя npm install axios --save и т. д. Для всех моих зависимостей Я вижу, что они добавляются в каталог node_modules, однако мой проект vue не компилируется со следующей ошибкой:
Failed to compile.
./src/main.js
Module not found: Error: Can't resolve 'axios' in '/app/src'
Если я вручную создаю папку node_modules внутри моего каталога / src / и размещаю axios и другие мои зависимости, это работает ... но, судя по тому, что я прочитал, я не должен обрабатывать свои модули node таким образом. Кажется, мне нужно, чтобы мои зависимости указывали на другой путь?
Что странно, так это то, что мой импорт Vue из 'vue' и App из './App.vue' работает нормально, это в основном все, что потом не компилируется ..
Мой main.js:
import Vue from 'vue'
import App from './App.vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
import firebase from 'firebase'
import "firebase/auth";
import "firebase/analytics";
import "firebase/firestore";
import moment from 'moment'
Vue.use(VueAxios, axios)
Vue.config.productionTip = false
new Vue({
render: h => h(App),
firebase: firebase,
}).$mount('#app')
Я также попытался удалить все модули узлов, очистить кеш NPM и переустановить зависимости NPM, но безрезультатно.
@Deniz main.js обновлен





вместо использования функции use для глобального добавления вашего экземпляра axios не могли бы вы попробовать добавить его следующим образом:
import Vue from 'vue'
import App from './App.vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
import firebase from 'firebase'
import "firebase/auth";
import "firebase/analytics";
import "firebase/firestore";
import moment from 'moment'
Vue.config.productionTip = false
Vue.prototype.$axios = Axios; //<---- like that
new Vue({
render: h => h(App),
firebase: firebase,
}).$mount('#app')
после этого попробуйте снова скомпилировать. затем вы можете вызывать свой экземпляр axios для каждого компонента с помощью this.$axios
Привет, Дениз, я попробовал, и он выдает ту же ошибку: Failed to compile. ./src/main.js Module not found: Error: Can't resolve 'axios' in '/app/src'
прямо ниже, где вы делаете свои аксиомы импорта, попробуйте следующее: console.info(axios) проверит результат и скажет мне, дает ли он подсказку. в противном случае попробуйте сделать снимок экрана вашего дерева проекта со всеми развернутыми, если это возможно
Console.log не производит никакой дополнительной информации, точно такая же ошибка, как и выше, вот скриншот моей структуры проекта: i.imgur.com/DmLKVup.png Если я переименую этот node_modulesOLD в node_modules, проект будет скомпилирован, если я оставлю его как СТАРЫЙ, я получу указанная выше ошибка. Хотя загружать 2 набора пакетов узлов в 1 проект кажется супер нелогичным. Не обращайте внимания на этот странно названный ReadMe, я просто стер важный заголовок.
что это за package-lock.json в папке src? package-lock должен находиться только в корневом каталоге. Также удалите node_modulesOLD. Лучше всего удалить все ваши package-lock.json и попробовать снова npm install
package-lock.json, package.json и node_modules должны находиться в корневой папке. они должны находиться в той же папке, где находится ваш правильный node_modules
Удалил все файлы node_module и package-lock.json, перезапустил npm install из корня проекта: не повезло, и все равно выдает ту же ошибку. ./src/main.js Module not found: Error: Can't resolve 'axios' in '/app/src' Сейчас это текущая структура проекта: i.imgur.com/vBEovgc.png
это проект, созданный vue-cli?
Не уверен, что это первое происхождение, это был разветвленный проект из github, он работает внутри контейнера докеров, если это помогает
Аааа .. покажите мне файл докеров, пожалуйста. Может это из-за docker Environment
Dockerfile: i.imgur.com/niIPU1x.png
Я только что заметил, что он работает с npm run serve, но не с docker run -v
пожалуйста, покажите мне весь ваш main.js, а не только импорт