【问题标题】:Can't deploy Vue app in production无法在生产中部署 Vue 应用程序
【发布时间】:2018-05-10 12:37:57
【问题描述】:

我正在尝试在生产中部署 Vue 应用程序。执行命令“npm run build”后,我将“index.html”和“dist”复制到我的 apache 根目录中。当我访问我的网站时,出现下一个错误:

external "vue-axios":1 Uncaught ReferenceError: vue is not defined

您知道在部署我的应用之前是否需要执行额外的步骤吗?

PX:此应用通过使用“npm run dev”正常运行

【问题讨论】:

  • 你能显示你的 package.json 吗?你确定你在dependencies 中有vue,而不是devDependencies
  • "dependencies": { "vue": "^2.5.11", "vue-router": "^3.0.1" }, "devDependencies": { "babel-core": " ^6.26.0", "babel-loader": "^7.1.2", "babel-preset-env": "^1.6.0", "babel-preset-stage-3": "^6.24.1" ,“cross-env”:“^5.0.5”,“css-loader”:“^0.28.7”,“file-loader”:“^1.1.4”,“node-sass”:“^4.5。 3”、“sass-loader”:“^6.0.6”、“vue-loader”:“^13.0.5”、“vue-template-compiler”:“^2.4.4”、“webpack”:“^ 3.6.0", "webpack-dev-server": "^2.9.1" },
  • 这是我的 package.json 的一部分,感谢您的帮助
  • vue-axiosdependencies 中吗?
  • 请提供index.html

标签: npm vue.js vue-cli


【解决方案1】:

所以看起来您收到Uncaught ReferenceError: vue is not defined 的原因可能是因为您需要源代码包之前您需要 Vue.js。 (假设您没有将vue 捆绑到您的源代码中)

所以当浏览器点击<script src="/dist/build.js"></script>时,任何依赖vue的代码都会失败。

<!DOCTYPE html> <html lang="es"> <head> <meta charset="utf-8"> <title>soporte_7x24</title> <link rel="stylesheet" href="maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/…; crossorigin="anonymous"> </head> <body> <div id="app"></div> <script src="/dist/build.js"></script> <script src="cdnjs.cloudflare.com/ajax/libs/vue/1.0.18/…;"/> </body> </html>

更改<script src="/dist/build.js"></script> 的顺序,使其位于<script src="cdnjs.cloudflare.com/ajax/libs/vue/1.0.18/…;"/> 之后

【讨论】:

  • 完成,我交换了“index.html”中的前两行,我在“dependences”中添加了“vue-axios”,并在“webpack.config.js”中删除了“externals”。现在它可以正常工作了。
猜你喜欢
  • 2014-10-12
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多