gpt4 book ai didi

sapui5 - "Modules that use an anonymous define() call must be loaded with a require() call"

转载 作者:行者123 更新时间:2023-12-04 15:24:30 26 4
gpt4 key购买 nike

walkthrough step 7: JSON Model例如,该应用程序显然按照文档工作,但我在控制台中看到以下错误:

Error: Modules that use an anonymous define() call must be loaded with a require() call; they must not be executed via script tag or nested into other modules.


在我未经训练的眼睛看来,我能找到的此消息的唯一其他实例似乎是处理一个完整的 different scenario .
我已经尝试过 Firefox 和 Chromium、CDN 托管与本地托管、两种不同的 UI5 版本(1.77.0 和 1.79.0),既缩小又简单,所以我想这确实是 code itself 中的内容。 .
会是什么呢?另外,我可以安全地忽略它吗?为什么?

最佳答案

TL; 博士

  • 删除 <script src="index.js"></script>来自 index.html
  • 替换 sap.ui.definesap.ui.require如果源未定义模块。

  • 更新
    感谢您让我们意识到这个问题。 fix将在下一个稳定版本中可用。
    如果您访问 step 7 sample in the nightly build ,可以看到错误不再发生。文档也相应地修复。
    原答案
    当前,第 7 步加载 index.js两次这是错误的:
  • 通过 <script src="index.js"></script>
  • 通过 data-sap-ui-oninit="module:sap/ui/demo/walkthrough/index"

  • <script id="sap-ui-bootstrap"
    src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
    data-sap-ui-oninit="module:sap/ui/demo/walkthrough/index"
    ...
    ></script>
    <script src="index.js"></script>

    第一次加载通过手册 <script>标签是多余的,并且会导致关于“匿名定义()调用”的错误,因为 index.js试图定义一个模块(即调用 sap.ui.define )而不指定相应的模块名称,因此是匿名的。应该加载这种模块定义 都不是 通过普通 <script>标签,例如在我们这里的例子中, 也不是 以嵌套方式在模块定义中。 [1] index.js调用 sap.ui.define也不干净,因为那里没有定义模块。相反,它应该调用 sap.ui.require .

    关于sapui5 - "Modules that use an anonymous define() call must be loaded with a require() call",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62581851/

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