【问题标题】:Error passing project to production in Vuejs在 Vuejs 中将项目传递到生产环境时出错
【发布时间】:2019-12-04 23:24:46
【问题描述】:

我有一个带有Vuejs 的非常基本的应用程序,我想将它上传到生产环境中进行测试,运行命令

npm run build

它创建了一个带有index.htmljs, css, img 文件夹的dist 文件夹,当在浏览器控制台中将这些文件上传到我的服务器时,我收到以下错误

app.b77b1ab7.css:1 加载资源失败:服务器响应 状态为 404(未找到)

app.c83b8068.js:1 加载资源失败: 服务器响应状态为 404(未找到)

chunk-vendors.512d43c3.js:1 加载资源失败:服务器 响应状态为 404(未找到)

/css/carousel.b4d817f1.css:1 加载资源失败:服务器 响应状态为 404(未找到)

/js/carousel.91739f99.js:1 加载资源失败:服务器响应 状态为 404(未找到)

/css/input.72e671f5.css:1 加载资源失败:服务器响应状态为404(未找到)

/css/home.0094a1a4.css:1 加载资源失败:服务器响应 状态为 404(未找到)

/js/input.05cf4a61.js:1 加载资源失败:服务器响应状态为404(未找到)

/js/home.762faa19.js:1 加载资源失败:服务器响应 状态为 404(未找到)

app.c83b8068.js:1 加载资源失败:服务器响应状态为404(未找到)

app.b77b1ab7.css:1 加载资源失败:服务器响应 状态为 404(未找到)

我不太明白他为什么告诉我他找不到文件,我不知道他是否在做npm run build之前忘记配置其他东西。

我该如何解决?

【问题讨论】:

  • 您很可能缺少一些包...检查 package.json 并检查您是否仅在 dev 上需要包
  • 您是否检查过服务器上的文件实际上是按照错误消息中的名称命名的? index.html 与其余文件之间存在差异。
  • 可能你用的是vue-router的历史模式?或者,也许你错误地配置了你的网络服务器?那些 404 错误对我来说似乎很熟悉,这就是问题所在。

标签: javascript vue.js


【解决方案1】:

您需要通过HTTP 提供目录。它不适用于file://

所以你需要在vue.config.js文件中定义publicPath

该文件默认不存在。您需要在项目的根目录中手动创建vue.config.js 文件,即在package.json 所在的同一级别。

创建vue.config.js 文件后,您应该定义publicPath,如下所示。

vue.config.js文件:

module.exports = {
    publicPath: ''
}

最后,您可以构建 (npm run build) 项目并且它可以正常工作。

【讨论】:

    【解决方案2】:

    你有没有试过全部改变

    <link href="/css/.....> 
    <link href="/js/.....>
    

    index.html 到

    <link href="css/.....> 
    <link href="js/.....>
    

    希望它可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多