Я пытаюсь настроить веб-чат BotFramework, используя узел.
Я получаю TypeError: e не функция в Object. (custom-webchat-4.8.0. js: 32) только в версии 4.8.0 и тот же код работает с версией 4.6.0.
Кто-нибудь знает, как решить эту проблему?
Здесь я прилагаю HTML файл, пакет. json и ts файлы для справки
пакет. json:
{
"name": "custom-webchat",
"version": "4.8.0",
"scripts": {
"build": "rimraf dist && webpack",
"lint": "tslint -c tslint.json --project . --test src/**/*.ts",
"deploy": "aws s3 sync dist s3://www.acai-hub.com/js --acl public-read"
},
"repository": {
"type": "git",
"url": "https://bitbucket.iaas-at-mit.de/scm/bot/bebop-webchat.git"
},
"dependencies": {
"@babel/runtime": "^7.8.4",
"adaptivecards": "1.2.5",
"botframework-directlinejs": "^0.11.6",
"botframework-directlinespeech-sdk": "4.8.0",
"botframework-webchat-component": "4.8.0",
"botframework-webchat-core": "4.8.0",
"core-js": "^3.5.0",
"markdown-it": "^10.0.0",
"markdown-it-for-inline": "^0.1.1",
"memoize-one": "^5.1.1",
"microsoft-cognitiveservices-speech-sdk": "1.6.0",
"microsoft-speech-browser-sdk": "^0.0.12",
"prop-types": "^15.7.2",
"sanitize-html": "^1.20.0",
"url-search-params-polyfill": "^7.0.0",
"web-speech-cognitive-services": "^6.0.0",
"whatwg-fetch": "^3.0.0",
"botframework-webchat": "^4.8.0"
},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.4",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-object-rest-spread": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.8.3",
"@babel/preset-env": "^7.8.4",
"@babel/preset-react": "^7.8.3",
"@babel/preset-typescript": "^7.8.3",
"@types/node": "^12.12.18",
"@types/react": "16.8.25",
"@typescript-eslint/eslint-plugin": "^2.12.0",
"@typescript-eslint/parser": "^2.12.0",
"babel-plugin-istanbul": "^5.2.0",
"babel-plugin-transform-inline-environment-variables": "^0.4.3",
"concurrently": "^5.0.2",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.1.1",
"eslint-plugin-react": "^7.17.0",
"eslint-plugin-react-hooks": "^2.3.0",
"isomorphic-react": "4.8.0",
"isomorphic-react-dom": "4.8.0",
"prettier": "^1.19.1",
"source-map-loader": "^0.2.4",
"terser-webpack-plugin": "^2.3.0",
"typescript": "^3.7.3",
"webpack": "^4.41.3",
"webpack-cli": "^3.3.10",
"webpack-stats-plugin": "^0.3.0",
"rimraf": "^2.6.3",
"ts-loader": "^6.0.4",
"tslint": "^5.18.0"
},
"peerDependencies": {
"react": "^16.8.6",
"react-dom": "^16.8.6"
}
}
index.ts:
import { WebChat, WebChatOptions } from "./custom-webchat";
let webChat: WebChat;
export function renderWebChat(options: WebChatOptions, element: HTMLElement) {
webChat = new WebChat(options);
webChat.renderWebChat(element);
}
window["WebChat"] = {
...window["WebChat"],
renderWebChat
};
custom-webchat.ts:
import * as BotframeworkWebChat from "botframework-webchat";
export interface WebChatOptions {
token: string;
}
export class WebChat {
private directline: any;
constructor({ token}: WebChatOptions) {
this.directline = BotframeworkWebChat.createDirectLine({ token });
}
renderWebChat(element: HTMLElement) {
BotframeworkWebChat.renderWebChat(
{
directLine: this.directline,
botAvatarInitials: 'WC',
userAvatarInitials: 'WW'
},
element
);
}
}
HTML:
<html xmlns:th="http://www.thymeleaf.org" lang="ar">
<head th:inline="text">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, maximum-scale=1">
<title>Demo</title>
</head>
<body th:inline="text">
<div class="chatBot" id="bot" role="main"></div>
<script src="file:///D:/bebop-webchat/dist/custom-webchat-4.8.0.js"></script>
<script>
WebChat.renderWebChat(
{
token: 'R-yE15Nt-hI.18_ofkIDC1mBY7GbDABIpFC8K4wjF3989JQLAEUJ2nU'
},
document.getElementById("bot")
);
</script>
</body>
</html>
После открытия файла HTML в виджете браузера выполняется рендеринг, как показано ниже:
После ввода привет в чате появляется сообщение об ошибке, как показано ниже в консоли:
Я перешел по этой ссылке https://github.com/microsoft/BotFramework-WebChat/blob/master/CHANGELOG.md для зависимостей.
Пожалуйста, дайте мне знать, если отсутствует какая-либо зависимость.
Примечание: Я сталкиваюсь с этой проблемой только с botframework-webchat@4.8.0