Невозможно выполнить функции из внешних скриптов в Meteor

Я пытаюсь реализовать плагин Jquery под названием Cropper в проекте Meteor, над которым я работаю, и это дает мне некоторые запутанные результаты.

Таким образом, я импортировал cropper в качестве npm через командную строку, а затем использовал метод изнутри cropper, чтобы настроить изображение, о котором идет речь, для обрезки, и это сработало хорошо.
Однако, когда я прикрепляю функцию обрезки к кнопке в том же шаблоне, я получаю ошибку «обрезка не определена» в консоли.

Мой код thusfar выглядит так:
Клиент / main.формат html:

<head>
  <title>Testing Cropper</title>
</head>


<body>
    <div>
        {{> StudentImageDisplay}}
    </div>
</body>

<template name="StudentImageDisplay">
    Click and drag a box to select the portion of the image you would like to use.<br>
    Double click image to shift between selection box and image draggning<br>
    Click the Save button below to save to database. <br>
    <div class="StudentImage">
        <img src="/Science.jpg" alt="studentimage">
    </div>
    <div>   
        <button class="CropImage">Crop</button>
    </div>
</template>

главный.js

import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';

import './main.html';

Template.StudentImageDisplay.onRendered(function () {
    $('.StudentImage > img').cropper({
        aspectRatio: 0.75,
        autoCropArea: 0.65,
        strict: false,
        guides: false,
        highlight: false,
        dragCrop: false,
        cropBoxMovable: false,
        cropBoxResizable: false
    });
});

Template.StudentImageDisplay.events({
   'click .CropImage': function (event) {
    event.preventDefault();
    cropper.getCroppedCanvas();
    console.log("Cropped image to Canvas for realsies");
   }
});

Проблема возникает в том, что Кроппер.getCroppedCanvas () вызов в нижней части, так как он просто выдает ошибку «Uncaught Exception: cropper is not defined».

Я думаю, что я упускаю что-то действительно основное здесь, как то, что он не был импортирован должным образом или это за пределами области, но я играл с ним около часа сейчас и не могу расшифровать код примера достаточно хорошо, чтобы найти мою проблему. Если бы кто-нибудь мог сказать мне, что я упускаю здесь, это было бы очень ценно.

1 ответ