gpt4 book ai didi

javascript - 在 Modernizer/yepnope.js 加载中使用 Drupal.settings.basePath

转载 作者:搜寻专家 更新时间:2023-11-01 04:33:03 25 4
gpt4 key购买 nike

我目前正在 Acquia 上开始开发 drupal 站点。使用 git 并在本地工作对我来说是一个新的工作流程。在本地构建并尝试使用 Modernizr load/yepnope 时,我的 script.js 文件中的 JS 通常如下所示。

Modernizr.load([
{
test: Modernizr.mq('only all'),
nope: '/sitename/docroot/sites/all/themes/theme/js/libs/polyfill.js'
},
....

所以这在我的机器上本地工作,但是当我提交我的更改并推送到我的 acquia 开发服务器时,加载脚本的文件路径不正确,因为我猜它不是相同的设置。

http://mysite.devcloud.acquia-sites.com/mysite/docroot/sites/all/themes/theme/js/libs/polyfill.js

它需要是下面的,URL 中没有 mysite/docroot。

http://mysite.devcloud.acquia-sites.com/sites/all/themes/theme/js/libs/polyfill.js

这让我想到了 Drupal.settings.basePath。如果我将其打印出来,它会在我的本地设置中提供/mysite/docroot/。如果我在开发服务器上执行此操作,它会打印出不同的内容(可能只是/)。

所以作为业余爱好者,我认为我可以做这样的事情..(原谅糟糕的样本,我知道它可以做得更好)

var myroot = Drupal.settings.basePath

Modernizr.load([
{
test: Modernizr.mq('only all'),
nope: myroot + 'sites/all/themes/theme/js/libs/polyfill.js'
},
....

这当然行不通。只返回 query1 未定义。

所以我确信我为完成这项工作所做的许多尝试都存在错误。所以如果有人可以向我提出一些建议,无论是与工作流相关的还是如何修复我的设置/代码,那就太好了。

谢谢

最佳答案

也许我在使用 Acquia 时只是有不同的本地设置,但为什么不使用像/sites/all/themes/theme/js/libs/polyfill.js 这样的相对路径呢?

关于javascript - 在 Modernizer/yepnope.js 加载中使用 Drupal.settings.basePath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946626/

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