当前位置: 首页 > 知识库问答 >
问题:

如何在vue javascript中引用静态资产

子车勇锐
2023-03-14

我正在寻找正确的url来引用静态资产,比如VUEJavaScript中的图像。

例如,我正在使用自定义图标图像创建传单标记,我尝试了几个URL,但它们都返回404(未找到)

Main.vue:

var icon = L.icon({
    iconUrl: './assets/img.png',
    iconSize:     [25, 25],
    iconAnchor:   [12, 12]
});

我试过把图像放在资产文件夹和静态文件夹,但没有运气。我必须告诉Vue以某种方式加载那些图像吗?

共有3个答案

唐弘益
2023-03-14

在@acdcjunior的回答中添加了一些好的做法和安全性,使用@而不是/

在JavaScript中

require("@/assets/images/user-img-placeholder.png")

在JSX模板中

<img src="@/assets/images/user-img-placeholder.png"/>

使用@指向src目录。

使用~指向项目根目录,这样更容易访问节点\u模块和其他根目录级资源

呼延明朗
2023-03-14

在Vue常规设置中,不提供/资产

图像变为src=“data:image/png;base64,iVBORw0K…YII=”字符串。

要从JS代码中获取图像,请使用require('../assets.myImage.png')。路径必须是相对的(见下文)。

所以你的代码应该是:

var icon = L.icon({
    iconUrl: require('./assets/img.png'),   // was iconUrl: './assets/img.png',
//  iconUrl: require('@/assets/img.png'), // use @ as alternative, depending on the path
    // ...
});

例如,假设您具有以下文件夹结构:

- src
  +- assets
     - myImage.png
  +- components
     - MyComponent.vue

如果要引用MyComponent.vue中的图像,路径应为。/assets/myImage.png

下面是一个演示代码沙盒,展示了它的实际应用。

羊和光
2023-03-14

对于希望从模板中引用图像的任何人,可以使用“@”直接引用图像

例子:

<img src="@/assets/images/home.png"/>
 类似资料:
  • JS 代码中引用媒体文件 可以直接在代码中使用 ES6 的 import 语法引入文件并在 JSX 中使用,目前仅支持图片类型的媒体文件。 JSON 中引用媒体文件 当你需要在 app.json 中配置使用的本地媒体文件(比如导航栏图片地址)时,可以将使用到的媒体文件放置到 src 下的某个目录下,并在 build.json 中将其配置到 constantDir 字段的数组中,示例如下: {

  • 有时你需要在 Markdown 文件中直接链接到静态资源,因此,将静态资源与 markdown 文件放在一起就会很方便。 我们已经为 Webpack 设置了相应的加载器(loaders)来处理大多数常见的文件类型,以便在导入(import)文件时获得其 url,并将静态资源自动复制到输出目录中。 假设有以下文件结构: # 你的文档 /website/docs/myFeature.mdx # 你要

  • 我使用的是Grails 2.4.1和Grails资产管道插件版本1.9.7。 我有一个javascript文件(它定义了一个AngularJS指令),它需要引用一个静态超文本标记语言文件(它将用作AngularJS指令的模板)。 我如何在资产目录中引用HTML文件? 项目结构: 圣杯应用 资产 脚本 指令 层次结构查看器.js 层次结构查看器.html 使用角度模板资产管道圣杯插件时的项目结构 <

  • 在这上面开个头。文件说明: 默认情况下,Spring Boot将提供来自类路径中名为 /static(或 /public或 /resources或 /META-INF/resources)的目录或ServletContext根目录的静态内容。 并创建一个目录,将静态资源放在那里。当我运行应用程序时,我只得到404。当我删除EnableWebMvc时,资源将按预期提供。 在中添加: 所以我的问题是:

  • 问题内容: 我想将图像上传到服务器,将它们存储在文件系统(外部服务器)中,然后在我的JSF页面上显示它们。 我想找到这样的东西: 我找到了一些解决方案,但我想知道是否有更好的方法可以做到这一点。 在JBOSS AS 7中配置静态资源(未回答) 在AS7中替换context.xml?在WAR之外访问文件?(没有回答) 我找到了jBoss文档: 静态资源元素 AdminGuide容器配置 任何帮助将不

  • 问题内容: 我需要读取代码中的文件。它实际上位于此处: 我将其放在源包中,以便在创建可运行的jar文件(导出-> Runnable JAR文件)时将其包含在jar中。最初,我将其放在项目根目录中(并尝试了一个普通的子文件夹),但导出文件并未将其包含在jar中。 如果在我的代码中,我这样做: jar文件正确地找到了该文件,但是在本地运行(运行方式-> Java Main应用程序)会引发文件未找到异常