将SRC从Index.html移至组件ui5

时间:2018-08-08 08:23:51

标签: sapui5

因此我的索引中包含以下行,并且我的应用程序运行正常。

<script src="/sap/bc/ui5_ui5/sap/project/util/moment.js"> </script>
<script src="/sap/bc/ui5_ui5/sap/project/util/moment-timezone-with-data-2010-2020.js"> </script>

但是现在我的应用程序被称为“组件”,我需要将其移至“组件”部分。但是我不确定该怎么做。我已经尝试了一些没有运气的事情。

如果我删除了这行代码,则当它作为独立运行时,在我的应用程序中会遇到与通过组件调用它时发生的错误,因此我知道这是缺少的代码行。任何帮助,将不胜感激。

2 个答案:

答案 0 :(得分:1)

有多种方法可以包含外部js库。

  1. 包含在使用库的UI5控制器中。

    sap.ui.define([     "sap/ui/core/mvc/Controller",
    "<projectNameSpace>/<realtivePathofJSLibrarytoTheComponent>/moment.js"
    ], function(Controller){
    .... Use momnet() here....
    }
    
    1. 包含在Component.js中,如1所示。通过此“时刻”将可通过应用程序获得。尽管首选下一个选项。

    2. 您的应用程序manifest.json中的内容(在manifest.json-> sap.ui5->资源中)。此选项还允许 您可以在整个应用中使用“时刻”。

    “ sap.ui5”:{         “资源”:{           “ js”:[{                “ uri”:“ /moment.js”            }]  }}

答案 1 :(得分:1)

像下面这样,可以在manifest.json文件中更好地使用“资源”节点:

    "resources": {
        "js": [ {
            "uri": "URI/to/JS/file.js",
            "name": "filename.js",
            "version": "1.1.1"
        }]
    }

或在Component.js文件的init事件中使用JQuery.sap.require()

  jQuery.sap.require('namespace.folder.fileName')

您应该阅读两篇好文章:

  1. https://blogs.sap.com/2017/04/30/how-to-include-third-party-libraries-modules-in-sapui5/
  2. https://blogs.sap.com/2016/10/29/sapui5-application-startup-performance-best-practices/