SharePoint Online 开发篇:App Part
admin
2023-01-25 08:42:46
0

Blog链接:https://blog.51cto.com/13969817

Webpart基本上是每个Portal项目中必不可少的,但是对于SharePoint Online中开发webpart并不是很随意,已经不能像On-Permise环境中可以随意开发visual webpart了,我们需要根据具体的功能进行具体的分析。

比如:Visual Studio在App.js中创建一个带有hello-worldish脚本的应用程序。该脚本检索当前用户的显示名,并将其放入默认App页面default .aspx的中。

Sample Code:

'use strict';
 
var context = SP.ClientContext.get_current();
var user = context.get_web().get_currentUser();
 
// This code runs when the DOM is ready and creates a context object which is needed to use the SharePoint object model
$(document).ready(function () {
 getUserName();
});
 
// This function prepares, loads, and then executes a SharePoint query to get the current users information
function getUserName() {
 context.load(user);
 context.executeQueryAsync(onGetUserNameSuccess, onGetUserNameFail);
}
 
// This function is executed if the above call is successful
// It replaces the contents of the 'message' element with the user name
function onGetUserNameSuccess()
 $('#message').text('Hello ' + user.get_title());
}
 
// This function is executed if the above call fails
function onGetUserNameFail(sender, args) {
 alert('Failed to get user name. Error:' + args.get_message());

为了提高效率,首先我们需要分析某个区域的信息显示能否通过SharePoint的OOB的Webpart来实现,而不是需要每个Webpart都要自己开发。如果确实OOB的Webpart无法实现,我们在考虑使用App Part来实现。

对于app part上面中需要的js和css尽量使用CDN的方式引入,因为如果一个app包中包含多个app part并且在同一个页面上添加这些app part,会导致请求过多有些app site中css和js无法加载。使用CDN的方式能减少部分请求,也可以避免部分这样的问题。

为了避免多个App Part使用一个App Site,如果同一页面放了很多这样的app part会导致对这个app site的请求资源过多,带来意想不到的问题,最好每个app part单独开发一个app.
尽量减少请求次数,对于不必须要的请求我们可以通过App part的属性来替代,例如:一个完整功能的app part内部可能需要点击item跳转到view item页面,那么这个URL可以通过属性来配置,而不是通过REST API单独请求一次。

比如SharePoint Host的App Part 借助SharePoint REST API 或者JSOM来获取数据,并且画出我们想要的效果,但是这种方式我们过于依赖于SharePoint站点,也就是我们需要用到的css和js都在SharePoint站点中存在,如果我们把这个Webpart移植到另一个站点中,这个站点也必须部署相应的js和css文件,依赖性比较强。这里我们要求使用SharePoint Host App的app part来代替,因为app part实际上是一个Iframe,我们开发的App part 中使用到的js和css都是独立存在app site中的,这样便于移植。

希望本文总结对大家日后开发有所帮助。

相关内容

热门资讯

【第一消息】“福建麻将.开挂神... 您好:福建麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
车驾管服务“跑”出新速度 【编者按】因地制宜发展新质生产力,是江苏推动高质量发展的核心战略路径。作为全国制造业集群规模最大的省...
2026年小程序技术公司深度洞... 在2026年的今天,数字化转型已不再是企业的“加分项”,而是生存与发展的“必答题”。对于广大商家而言...
【第一消息】“阳光巴厘岛.开挂... 【第一消息】“阳光巴厘岛.开挂神器?”详细开挂教程您好,阳光巴厘岛这个游戏其实有挂的,确实是有挂的,...
【第一资讯】“福星游戏.开挂器... 有 亲,根据资深记者爆料福星游戏是可以开挂的,确实有挂(咨询软件无需打开...
最新引进“丫丫衡阳字牌.真的有... 最新引进“丫丫衡阳字牌.真的有挂吗?”太坑了果然有挂您好,丫丫衡阳字牌这个游戏其实有挂的,确实是有挂...
【第一资讯】“中至余干麻将.有... 网上科普关于“中至余干麻将有没有挂”话题很是火热,小编也是针对中至余干麻将作*弊开挂的方法以及开挂对...
终于明白“新版悟空炸金花.是不... 家人们!今天小编来为大家解答新版悟空炸金花透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪...
玩家攻略科普“同乐吧.真的有挂... 有 亲,根据资深记者爆料同乐吧是可以开挂的,确实有挂(咨询软件无需打开直...
今日重大消息“胡一把麻将.辅助... 网上科普关于“胡一把麻将有没有挂”话题很是火热,小编也是针对胡一把麻将作*弊开挂的方法以及开挂对应的...