【发布时间】:2020-06-08 23:09:23
【问题描述】:
当我尝试在 vue 中下载带有网站的 apk 文件时,我遇到了一个奇怪的错误:
基于How to download a locally stored file in VueJS,我尝试使用以下命令下载本地文件:
<a href="../../app-debug.apk" download="client.apk">Download</a>
但是无论我在href中放什么,文件下载总是这个文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="/favicon.ico">
<title>client_web</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css">
<link href="/js/app.js" rel="preload" as="script"><link href="/js/chunk-vendors.js" rel="preload" as="script"></head>
<body>
<noscript>
<strong>We're sorry but client_web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script type="text/javascript" src="/js/chunk-vendors.js"></script><script type="text/javascript" src="/js/app.js"></script></body>
</html>
我不明白这个文件来自哪里,以及如何让我的链接下载 apk 文件。
编辑:vue.config.js
"transpileDependencies": [
"vuetify"
],
chainWebpack: config => {
config.module
.rule('apk')
.test(/\.(apk)$/)
.use('apk-loader')
.loader('apk-loader')
.end();
}
}
目录树:
│ └──views
│ └──APKDownload.vue
└──app-debug.apk```
【问题讨论】:
-
您是否尝试将这部分下载="client.apk" 更改为仅下载?
-
我试了下没有任何变化,文件下载还是一样
-
在您引用的链接的接受答案中,他们使用文件加载器,您在使用它吗?你能分享你的 webpack.config.js 的相关部分吗?
-
@Shoejep 是的,我尝试使用 apk-loader。这是我的
vue.config.js:module.exports = { "transpileDependencies": [ "vuetify" ], chainWebpack: config => { config.module .rule('apk') .test(/\.(apk)$/) .use('apk-loader') .loader('apk-loader') .end(); } }
标签: javascript html vue.js