使用 requirejs 的 bootstrap-table 本地化给出错误“无法读取未定义的属性

使用 TYPO3 作为 CMS,我尝试使用 requirejs 加载引导表本地化,但收到此错误: Uncaught TypeError: Cannot read property 'locales' of undefined

首先,如果我只加载bootstrap-table.min.js一切正常:

define([

    'jquery',

    'TYPO3/CMS/Iancalendar/bootstrap-table.min'

], function($, bootstrapTable) {

但是当我添加本地化文件时出现该错误:


define([

    'jquery',

    'TYPO3/CMS/Iancalendar/bootstrap-table.min',

    'TYPO3/CMS/Iancalendar/bootstrap-table-locale-all.min'

], function($, bootstrapTable, btl) {

该错误在bootstrap-table-locale-all.min.js的这一行触发:


t.fn.bootstrapTable.locales["af-ZA"]

所以我想这是因为 t.fn.bootstrapTable 尚未在那里定义。


请问,有什么想法可以帮助我解决这个问题吗?


慕妹3242003
浏览 251回答 1
1回答

犯罪嫌疑人X

使用 PageRenderer 的 addRequireJsConfiguration 方法解决此问题,并将此代码添加到 ext_localconf.php\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class)->addRequireJsConfiguration([    'shim' => [        'bootstrapTable' => ['jquery'],        'bootstrapTableLocale' => ['jquery', 'bootstrapTable'],    ],    'paths' => [        'bootstrapTable' => \TYPO3\CMS\Core\Utility\PathUtility::getAbsoluteWebPath(                \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('iancalendar', 'Resources/Public/JavaScript/Contrib/')            ) . 'bootstrap-table.min',        'bootstrapTableLocale' => \TYPO3\CMS\Core\Utility\PathUtility::getAbsoluteWebPath(                \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('iancalendar', 'Resources/Public/JavaScript/Contrib/')            ) . 'bootstrap-table-locale-all.min',    ]]);这样我就可以像这样加载 Main.js 中的模块define([    'jquery',    'bootstrapTable',    'bootstrapTableLocale'], function($, bootstrapTable, bootstrapTableLocale) {...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript