Vue Cli 应用程序在部署到 heroku 时失败“错误:无法解析 vue-axios”

Posted

技术标签:

【中文标题】Vue Cli 应用程序在部署到 heroku 时失败“错误:无法解析 vue-axios”【英文标题】:Vue Cli app failing on deploy to heroku "ERROR: Can't resolve vue-axios" 【发布时间】:2020-01-23 00:05:57 【问题描述】:

嘿,我正在尝试将 Vue-Cli 应用程序部署到 heroku。在部署时我收到一个错误,告诉我 ERROR: can't resolve vue-axios.

这里是部署日志:

    -----> Node.js app detected

-----> Creating runtime environment

       NPM_CONFIG_LOGLEVEL=error
       NODE_ENV=production
       NODE_MODULES_CACHE=true
       NODE_VERBOSE=false

-----> Installing binaries
       engines.node (package.json):  10.16.3
       engines.npm (package.json):   6.11.3
       engines.yarn (package.json):  1.17.3

       Resolving node version 10.16.3...
       Downloading and installing node 10.16.3...
       Bootstrapping npm 6.11.3 (replacing 6.9.0)...
       npm 6.11.3 installed
       Resolving yarn version 1.17.3...
       Downloading and installing yarn (1.17.3)...
       Installed yarn 1.17.3

-----> Installing dependencies
       Installing node modules (yarn.lock)
       yarn install v1.17.3
       [1/4] Resolving packages...
       [2/4] Fetching packages...
       info fsevents@1.2.9: The platform "linux" is incompatible with this module.
       info "fsevents@1.2.9" is an optional dependency and failed compatibility check. Excluding it from installation.
       [3/4] Linking dependencies...
       [4/4] Building fresh packages...
       Done in 35.63s.

-----> Build
       Running build (yarn)
       yarn run v1.17.3
       $ node build/build.js
       Hash: 1a4e581f1f6c87da11b4
       Version: webpack 3.12.0
       Time: 21964ms
                                                         Asset       Size  Chunks                    Chunk Names
                      static/js/vendor.10e0802120f8774812f8.js     156 kB       0  [emitted]         vendor
                         static/js/app.b921d7af8c4576a6f4bb.js    3.33 kB       1  [emitted]         app
                    static/js/manifest.2ae2e69a05c33dfc65f8.js  857 bytes       2  [emitted]         manifest
           static/css/app.07528487cac3300d975fbf17c681c8bf.css     652 kB       1  [emitted]  [big]  app
       static/css/app.07528487cac3300d975fbf17c681c8bf.css.map    1.14 MB          [emitted]         
                  static/js/vendor.10e0802120f8774812f8.js.map     771 kB       0  [emitted]         vendor
                     static/js/app.b921d7af8c4576a6f4bb.js.map    21.5 kB       1  [emitted]         app
                static/js/manifest.2ae2e69a05c33dfc65f8.js.map    4.97 kB       2  [emitted]         manifest
                                                    index.html  509 bytes          [emitted]         

       ERROR in ./src/main.js
       Module not found: Error: Can't resolve 'Vue-axios' in '/tmp/build_f242124990dad1f5430be392e7ea3925/src'
        @ ./src/main.js 6:0-33

         Build failed with errors.

error Command failed with exit code 1.
       info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
-----> Build failed

       We're sorry this build is failing! You can troubleshoot common issues here:
       https://devcenter.heroku.com/articles/troubleshooting-node-deploys

       If you're stuck, please submit a ticket so we can help:
       https://help.heroku.com/

       Love,
       Heroku

 !     Push rejected, failed to compile Node.js app.
 !     Push failed

我查看了 package.json 并且所有依赖项都在那里,所以我很困惑如何继续部署这个错误?

在此问题上的任何帮助将不胜感激!

更新我的 main.js 文件如下所示:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import VueAxios from 'Vue-axios'
import  securedAxiosInstance, plainAxiosInstance  from './backend/axios'
import './main.css'

Vue.config.productionTip = false
Vue.use(VueAxios, 
  secured: securedAxiosInstance,
  plain: plainAxiosInstance
)
/* eslint-disable no-new */
new Vue(
  el: '#app',
  router,
  securedAxiosInstance,
  plainAxiosInstance,
  components:  App ,
  template: '<App/>'
)

【问题讨论】:

您的依赖项中是否列出了 Vue-axios? @mulsun "dependencies": "axios": "^0.19.0", "tailwindcss": "^1.1.2", "vue": "^2.5.2", "vue -axios": "^2.1.4", "vue-router": "^3.0.1" , 试试import VueAxios from 'vue-axios' 可能有case问题(linux)。 【参考方案1】:

这个包叫vue-axios,都是小写的。您的导入中有 Vue-axios,只是输入错误。

【讨论】:

以上是关于Vue Cli 应用程序在部署到 heroku 时失败“错误:无法解析 vue-axios”的主要内容,如果未能解决你的问题,请参考以下文章

heroku 中的 vue-cli-service 构建失败

将 vue 应用程序部署到 heroku 时出错

部署到 Heroku 错误:找不到模块“/app/server.js”

Heroku 在部署 MEVN 应用程序时构建错误,为啥 heroku 显示 babel-loader 和 vue-loader 错误?

是啥阻止了这个 rails/vue 项目部署到 heroku?

如何将 Rails + Webpacker 应用程序部署到 Heroku?