在我的index.html中,我在head
标记中包含了这些标记:
<link rel="apple-touch-icon" sizes="60x60" href="./assets/icons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./assets/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./assets/icons/favicon-16x16.png">
<link rel="manifest" href="./assets/manifest.json">
但是,无论何时加载index.html,这些资产都将再次加载为index.html,而不是其图像。 Webpack是否不处理index.html?还有其他方法可以将处理后的内容放入head
标记中吗?还是我必须将它们放在static
目录中?
答案 0 :(得分:1)
您必须将它们放置在static
文件夹中-原因是index.html
从Webpack接收的唯一处理(在官方Vue模板中配置)是注入生成的JS和CSS文件。它只是忽略了您对资产的现有引用。因此,您有几种选择:
/static
中,然后使用引用您的部署而不是开发环境的路径在index.html
中手动引用它们index.html
index.html
中,您将不得不修改/build/webpack.prod.conf.js
并配置上述插件-在GitHub上查看其示例回答您的问题-获得哈希版本控制和压缩的唯一方法是使用相对路径引用Vue组件中的资产,以便Vue-loader正确对待它们。