Vue DOM 图片无法正确显示
Vue DOM image won't show correctly
我正在使用 Vue 框架并使用 DomUtil.Create
函数创建图像。在此图像中,我想将源动态写入此图像。但是图片不会显示给用户。
我使用 <img>
标签在页面上放了一张普通图片,它在这里有效。只有在创建 DOM 元素时它才不起作用。我把路径硬编码在这里,所以可以肯定路径是正确的。
var img = L.DomUtil.create("img", "popUpImg", divImg);
img.src = '@/assets/pictures/1.png';
使用require()
绑定到项目路径/文件名时,使用require
:
require('@/assets/pictures/1.png');
如果您在 Vue CLI 中使用项目资产路径和文件名,Webpack 实际上会在打包时重命名它们。如果您在模板 中为 img src
使用字符串路径,Vue CLI 会悄悄地处理这个问题。但在任何其他情况下,您需要手动使用 Webpack 的 require
在运行时给出正确的路径和文件名。
- 注意:您可以npm run build
然后检查dist
>img
文件夹以查看重命名为自己。 -
我可以在 require()
中使用变量吗?
使用变量 path/filename 时,require
需要一些帮助。您必须至少将路径的第一部分硬编码为字符串。
- 例如,这个有效:
const filename = '1.png';
require('@/assets/pictures/' + filename); // <-- The string is needed
- 这也有效:
const path = 'assets/pictures/1.png';
require('@/' + path); // <-- This is good enough too
- 但这不会起作用:
const fullpath = '@/assets/pictures/1.png';
require(fullpath); // <-- No. Can't infer the path from a variable only
在 Vue Loader 文档中阅读更多内容
我正在使用 Vue 框架并使用 DomUtil.Create
函数创建图像。在此图像中,我想将源动态写入此图像。但是图片不会显示给用户。
我使用 <img>
标签在页面上放了一张普通图片,它在这里有效。只有在创建 DOM 元素时它才不起作用。我把路径硬编码在这里,所以可以肯定路径是正确的。
var img = L.DomUtil.create("img", "popUpImg", divImg);
img.src = '@/assets/pictures/1.png';
使用require()
绑定到项目路径/文件名时,使用require
:
require('@/assets/pictures/1.png');
如果您在 Vue CLI 中使用项目资产路径和文件名,Webpack 实际上会在打包时重命名它们。如果您在模板 中为 img src
使用字符串路径,Vue CLI 会悄悄地处理这个问题。但在任何其他情况下,您需要手动使用 Webpack 的 require
在运行时给出正确的路径和文件名。
- 注意:您可以npm run build
然后检查dist
>img
文件夹以查看重命名为自己。 -
我可以在 require()
中使用变量吗?
使用变量 path/filename 时,require
需要一些帮助。您必须至少将路径的第一部分硬编码为字符串。
- 例如,这个有效:
const filename = '1.png';
require('@/assets/pictures/' + filename); // <-- The string is needed
- 这也有效:
const path = 'assets/pictures/1.png';
require('@/' + path); // <-- This is good enough too
- 但这不会起作用:
const fullpath = '@/assets/pictures/1.png';
require(fullpath); // <-- No. Can't infer the path from a variable only
在 Vue Loader 文档中阅读更多内容