По сути, вы можете почувствовать вкус фреймворка opencv.js.Я сделал это, вытащив какую-то ссылку типа https://docs.opencv.org/3.4.1/opencv.js
, а затем разместив ее где-нибудь (на случай, если opencv переместит ее на вас).Затем включите этот сценарий в проект Ionic.Будьте осторожны, как вы это делаете, хотя.Это большой файл, поэтому загрузка приложения может занять больше времени.Некоторые параметры, которые я использовал:
Локальный актив
Сохраните файл js в локальных ресурсах и включите его в index.js.Если приложение Ionic развернуто как собственное приложение, то этот ресурс уже находится в приложении и загружается довольно быстро.
<script src="assets/js/opencv.js" async></script>
Динамическая загрузка файла (пример ниже)
async ionViewDidLoad() {
let loadingScreen = this.loadingCtrl.create({ content: "Loading Scripts. Please Wait..." });
//Show loading screen & load scripts
try {
await loadingScreen.present();
await this.loadScript();
}
catch (error) {
this.errorMessage = "We had some trouble loading scripts...";
}
finally {
loadingScreen && loadingScreen.dismiss();
}
}
public loadScript(): Promise<any> {
return new Promise((resolve, reject) => {
var isFound = false;
var scripts = document.getElementsByTagName("script")
for (var i = 0; i < scripts.length; ++i) {
if (scripts[i].getAttribute('src') != null &&
scripts[i].getAttribute('src').includes("opencv")) {
isFound = true;
return resolve();
}
}
if (!isFound) {
var dynamicScripts = ["https://docs.opencv.org/3.4.1/opencv.js"];
for (var i = 0; i < dynamicScripts.length; i++) {
let scriptNode = document.createElement('script');
scriptNode.src = dynamicScripts[i];
scriptNode.type = 'text/javascript';
scriptNode.async = false;
scriptNode.charset = 'utf-8';
document.getElementsByTagName('head')[0].appendChild(scriptNode);
scriptNode.onload = resolve;
}
}
});
}