如何从SharePoint共享信息到JavaScript? SAPUI5项目

问题描述 投票:0回答:1

我正在尝试将 SharePoint 集成到 SAPUI5 项目中的 JavaScript。

我在 VS Code 中实现了该项目,但它不起作用,因为 AMD(异步模块定义)与框架 SPPUll 兼容,这为我的问题提供了一个简单的解决方案

我从库(名为 SPPull)下载文件夹,保存到文件夹 libs 中并实现到manifest.json

"resources": {
            "js":[
                {
                    "uri":"libs/sppull/dist/index.js"
                }
            ]

当我使用以下命令从控制器调用它时:

var sppull = require("sppull")

它抛出 require is not Defined。

有什么想法吗?谢谢大家

javascript sharepoint sapui5
1个回答
0
投票

我假设您发布的 JSON 片段是您的 manifest.json 文件。您需要在控制器开头的 sap.ui.define 中使用应用程序命名空间来引用该库。因此,如果您尝试导入 sppull 的控制器是 App.controller.js,它将如下所示:

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "mySapUI5App/js"
],
    /**
     * @param {typeof sap.ui.core.mvc.Controller} Controller
     * @param {typeof mySapUi5App.js} SPPull index.js
     */
    function (Controller, js) {
        "use strict";

        return Controller.extend("com.urlshortener.grilo.urlshortener.controller.App", {
            onInit: function () {
               ...
            },
            onBeforeRendering: function() {
               ...
            },
            //other controller methods here

        });

其中“mySapUi5App”是应用程序的命名空间,在脚本标签“data-sap-ui-resourceroots”下的index.html中定义:

   <script
        id="sap-ui-bootstrap"
        src="resources/sap-ui-core.js"
        data-sap-ui-theme="sap_horizon"
        data-sap-ui-resourceroots='{
            "mySapUI5App": "./"
        }'
    ></script>

我会将“js”重命名为“Index”,以便它与 sap.ui.define 中的模块需求模式匹配。您还可以在 sap.ui.require 中将文件的完整限定名称引用为“mySapUI5App/dist/libs/sppull/dist/index”。这应该可以解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.