gpt4 book ai didi

namespaces - 如何让 RequireJS 正确解析 TYPO3 BE 的命名空间?

转载 作者:行者123 更新时间:2023-12-04 16:55:40 25 4
gpt4 key购买 nike

我想在 TYPO3 后端加载额外的 JS。我在 the official documentation 中使用 requireJS .

在 ext_localconf.php 我试图像这样加载我的 JS:

if (TYPO3_MODE=="BE" )   {
$pageRenderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);
$pageRenderer->loadRequireJsModule('TYPO3/CMS/ExtensionName/EventEndDateValidator');
}

在我的浏览器控制台中,我收到如下错误:

Error: Script error for "TYPO3/CMS/ExtensionName/EventEndDateValidator" http://requirejs.org/docs/errors.html#scripterror





Loading failed for the with source “http://localhost/typo3/TYPO3/CMS/ExtensionName/EventEndDateValidator.js?bust=6b9250465c29da98dea71ea9e447e7db2d3ccea3”. index.php:1



所以 namespace 没有解析。 The docs@DAM说将 JS 文件放在 EXT:extension_name/Resources/Public/JavaScript 中就足够了目录。

我的 JS 文件是这样的:
define(['jquery'], function($) {
var EventEndDateValidator = {
sayings: [
'The quick brown fox jumps over the lazy dog',
'Bright vixens jump; dozy fowl quack'
]
};

EventEndDateValidator.say = function() {
alert(EventEndDateValidator.sayings[Math.floor(Math.random() * EventEndDateValidator.sayings.length)]);
};

$(document).ready(function() {
// Initialize the view
EventEndDateValidator.say();
});
});

我错过了什么吗?

最佳答案

为了澄清你写的一件事,你必须替换 ExtensionName使用您自己的扩展名 - 不确定您是否这样做:

假设您的分机具有 key wonderful_extension ,那么名称通常是 WonderfulExtension .

然后在文件 ext_localconf.php 中你必须这样写:

if (TYPO3_MODE=="BE" )   {
$pageRenderer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);
$pageRenderer->loadRequireJsModule('TYPO3/CMS/WonderfulExtension/EventEndDateValidator');
}

根据您当前使用的代码,扩展 key 必须是 extension_name与名称 ExtensionName ,真正使用这些字符串可能是不合理的。在文档中,它们必须被视为要替换为您自己的值的变量。

关于namespaces - 如何让 RequireJS 正确解析 TYPO3 BE 的命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55628647/

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