SharePoint에 챗봇을 넣어보도록 하겠습니다.
17082 단어 SharePointFramework
나는 그 순서와 주의한 일을 쓰고 싶다.
개시하다
SharePoint에 자체 기능이 추가되었습니다SharePoint Framework.
SharePoint Framework에서 다음 유형의 어셈블리를 개발할 수 있습니다.
이 문서에는 1.12.1 버전의 SharePoint Framework가 사용됩니다.
개발 환경 설정
이 단계에 따라 Gulp, Yeoman, Yeoman의 SharePoint 발생기를 설치한다.
Node.js가 지원하는 버전을 설치했기 때문에 사랑을 끊습니다.
$ npm install gulp yo @microsoft/generator-sharepoint --global
프로젝트 작성이 단계에서 프로젝트용 chatbot 디렉터리를 먼저 만들고 이 디렉터리에서 다음 명령을 실행합니다.
$ yo @microsoft/sharepoint
_-----_
| | .--------------------------.
|--(o)--| | Welcome to the |
`---------´ | SharePoint Client-side |
( _´U`_ ) | Solution |
/___A___\ | [email protected] |
| ~ | '--------------------------'
__'.___.'__
´ ` |° ´ Y `
Let's create a new SharePoint solution.
? What is your solution name? chatbot
? Which baseline packages do you want to target for your component(s)? SharePoint Online only (latest)
? Where do you want to place the files? Use the current folder
Found npm version 6.14.11
? Do you want to allow the tenant admin the choice of being able to deploy the solution to all sites immediately without running any feature deployment or adding apps in sites? No
? Will the components in the solution require permissions to access web APIs that are unique and not shared with other components in the tenant? No
? Which type of client-side component to create? Extension
? Which type of client-side extension to create? Application Customizer
Add new Application Customizer to solution chatbot.
? What is your Application Customizer name? Chatbot
? What is your Application Customizer description? User assistant.
gulp trust-dev-cert
바닥글 구현참고평면 브래킷 샘플, 우선 내용이 없는 쪽지만 제작합니다.
/src/extensions/chatbot/ChatbotCustomizer.module.scss
.app {
position: relative;
height: 1px;
display: flex;
}
/src/extensions/chatbot/ChatbotApplicationCustomizer.tsimport { override } from '@microsoft/decorators';
import {
BaseApplicationCustomizer, PlaceholderContent, PlaceholderName
} from '@microsoft/sp-application-base';
import styles from './ChatbotCustomizer.module.scss';
/**
* If your command set uses the ClientSideComponentProperties JSON input,
* it will be deserialized into the BaseExtension.properties object.
* You can define an interface to describe it.
*/
export interface IChatbotApplicationCustomizerProperties {
}
/** A Custom Action which can be run during execution of a Client Side Application */
export default class ChatbotApplicationCustomizer
extends BaseApplicationCustomizer<IChatbotApplicationCustomizerProperties> {
private _bottomPlaceholder: PlaceholderContent | undefined;
@override
public onInit(): Promise<void> {
this.context.placeholderProvider.changedEvent.add(this, this._renderPlaceHolders);
return Promise.resolve();
}
private _renderPlaceHolders(): void {
if (!this._bottomPlaceholder) {
this._bottomPlaceholder = this.context.placeholderProvider.tryCreateContent(PlaceholderName.Bottom);
if (this._bottomPlaceholder.domElement) {
this._bottomPlaceholder.domElement.innerHTML
= `<div class="${styles.app}"></div>`;
}
}
}
}
serve.json의 페이지 Url을 확장 기능이 끼워 넣을 예정인SharePoint의 URL로 변경합니다. 속성을 사용하지 않기 때문에 삭제합니다.
/config/serve.json
{
"$schema": "https://developer.microsoft.com/json-schemas/core-build/serve.schema.json",
"port": 4321,
"https": true,
"serveConfigurations": {
"default": {
"pageUrl": "https://hogehoge.sharepoint.com/sites/portal",
"customActions": {
"da62dff0-4c91-4aed-a978-0e4a95fa289b": {
"location": "ClientSideExtension.ApplicationCustomizer"
}
}
},
"chatbot": {
"pageUrl": "https://hogehoge.sharepoint.com/sites/portal",
"customActions": {
"da62dff0-4c91-4aed-a978-0e4a95fa289b": {
"location": "ClientSideExtension.ApplicationCustomizer"
}
}
}
}
}
Property serveConfigurations is not allowed.
가 표시되지만 지정된 URL과 정상적인 기능은 신경 쓰지 않아도 됩니다.gulp serve
를 실행하면 브라우저에 페이지가 표시되고 다음 확인 화면이 표시됩니다. [디버그 스크립트 읽기]를 누르십시오.채팅 로봇 가입
이번 방법은 채팅방의 코드를 프로젝트에 이식하는 것이 아니라 참고여기.로 Svelte가 만든 채팅방의 js 파일을 직접 편입하는 것이다.
간단하게 js 파일을 프로젝트에 설정하고 고객 onInit 방법에서require를 실행합니다.
/src/extensions/chatbot/ChatbotApplicationCustomizer.ts
@override
public onInit(): Promise<void> {
require('../../../assets/bundle.js');
this.context.placeholderProvider.changedEvent.add(this, this._renderPlaceHolders);
return Promise.resolve();
}
private _renderPlaceHolders(): void {
// 割愛
this._bottomPlaceholder.domElement.innerHTML = `
<div class="${styles.app}">
<chat-frame title="お問い合わせ" closeclass="${styles.close}"></chat-frame>
</div>`;
그리고 채팅방 스타일.module.scss로 지정합니다.참조이것 및 이것 단계
우선 프로그램에 따라 사이트 단계에 확장 기능을 발표한다.json에서 Centent SideInstance로 이동합니다.xml에 대한 지정을 삭제합니다.
그런 다음 릴리스를 작성하려면 다음 절차를 따르십시오.
gulp bundle --ship
gulp package-solution --ship
응용 프로그램에서 게시빌딩이 완성되었다.응용 프로그램에서 sppkg을 발표합니다.
응용 프로그램이 없으면 여기.를 참조하십시오.
응용 프로그램이 설치된 웹 사이트의 [사이트 내용] 페이지를 열고 [새로 만들기]에서 [응용]을 클릭합니다.
표시된 페이지에서 응용 프로그램을 클릭하면 설치가 수행됩니다.
눈여겨본 일
프로그램을 버전으로 업그레이드하려면/config/package-solution을 사용하십시오.json 내의 버젼을 업데이트하여 프로그램 타로크에 다시 발표합니다.
사이트에 설치된 앱은 여전히 구 버전이기 때문에 사이트 내용을 통해 앱의 상세한 정보를 보면 새 버전을 얻을 수 있다.
Reference
이 문제에 관하여(SharePoint에 챗봇을 넣어보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/megasys1968/items/ea38d0f704ff3715fbd0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)