【问题标题】:Npm run build generates wrong pathsnpm run build 生成错误的路径
【发布时间】:2019-10-05 10:28:36
【问题描述】:

为了部署我的Vue Cli 3 项目,我执行了npm run build,但是新的dist/ 文件夹中的index.html 包含如下错误路径:

<link href=/css/app.35dee36a.css
<link href=/js/app.826dde09.js

结果我在控制台中得到了这些:

Failed to load resource - http://my_site.com/js/app.826dde09.js

应该是http://my_site.com/timelog/js,而不是http://my_site.com/js

我尝试通过添加"baseUrl": "http://my_site.com/timelog/", "homepage": "http://my_site.com/timelog/", 来指定package.json 中的URL,但它没有任何改变。

是什么导致了这个问题以及如何解决?

【问题讨论】:

  • 构建的版本应该在具有实际域名的网络服务器上运行。
  • 我有一个便宜的共享主机包,我不认为我可以在他们的服务器上运行类似的东西。您确定这是问题所在并且没有解决方法吗?
  • 如果您想开发,请运行npm run serve 并转到localhost:8080 或运行它的任何端口。 npm run build 是一个生产版本,如果您通过 file:/// 链接打开 index.html 将不起作用。只要您对服务器具有 ftp 或 sftp 访问权限,并且拥有任何域名,您就应该能够将 dist 文件夹中的任何内容传输到用作您的 public_html 文件夹的文件夹中。如果启用了任何重写,这将允许您访问 yourdomain.com/index.htmlyourdomain.com
  • 谢谢,你是对的,但是路径仍然是错误的。我编辑了问题。

标签: vue.js npm vue-cli-3


【解决方案1】:

我通过在我的项目的根目录中创建一个 vue.config.js 文件来解决这个问题,其中包含以下内容:

module.exports = {
  baseUrl: '/timelog/'
}

(要使内部链接也能正常工作,请参阅this answer

【讨论】:

  • 看来baseUrl已经被publicPath取代了。无论如何,这个答案对我有帮助,谢谢。
猜你喜欢
  • 2020-08-29
  • 2021-03-03
  • 2018-09-29
  • 1970-01-01
  • 1970-01-01
  • 2022-08-17
  • 1970-01-01
  • 2021-03-06
  • 2021-02-18
相关资源
最近更新 更多