gpt4 book ai didi

grails - 生成由Grails AssetPipeline处理的资源的URL

转载 作者:行者123 更新时间:2023-12-02 14:49:48 25 4
gpt4 key购买 nike

我需要访问本地JSON文件。由于Grails 2.4默认情况下实现了AssetPipeline插件,因此我将本地JSON文件保存在:

/grails-app/assets/javascript/vendor/me/json/local.json

现在,我需要生成此 JSON文件的URL,以用作JavaScript的 $.getJSON()上的函数参数。我试过使用:
var URL.local = ""${ raw(asset.assetPath(src: "local.json")) }";

但它生成无效的链接:
console.log(URL.local);
// prints /project/assets/local.json
// instead of /project/assets/vendor/me/json/local.json

我还遇到了与AssetPipeline1.9.9处理的图像相同的场景,这些图像应该动态插入页面中。如何生成指向该资源的URL?我知道,我总是可以为URL提供一个静态字符串,但是似乎会有一个更合适的解决方案。

编辑

我被问到是否可以将本地 JSON文件直接移到 assets/javascript根目录下,而不是将其放置在子目录下以便于解决。我不愿意出于组织目的。

最佳答案

您是否尝试过asset.assetPath(src: "/me/json/local.json")
Assets 插件会查找assets/的所有直接子级。您的local.json文件需要放置在/project/assets/foo/中,以使您当前的代码可以使用它。

请查看相关文档here,其中包含示例。

The first level deep within the assets folder is simply used for organization purposes and can contain folders of any name you wish. File types also don't need to be in any specific folder. These folders are omitted from the URL mappings and relative path calculations.

关于grails - 生成由Grails AssetPipeline处理的资源的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36570960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com