Ошибка типа: g.rangy.saveSelection не является функцией, использующей textangular + rangy + browserify
Я пытаюсь реализовать textAngular
в мой Angular.js
проект, который упакован с использованием browserify
,
Я установил rangy
а также textAngular
с помощью npm
, Они включены как это:
global.rangy = require('rangy');
require('angular-sanitize');
require('textangular');
При компиляции пакета с browserify
с помощью gulp
, ошибки не отображаются. Однако, как только я нажимаю кнопку на панели инструментов редактора, я получаю следующую ошибку:
TypeError: g.rangy.saveSelection is not a function
at Scope.m.startAction (http://localhost:3000/js/main.js:38077:9364)
at Scope.executeAction (http://localhost:3000/js/main.js:38076:5862)
at fn (eval at <anonymous> (http://localhost:3000/js/main.js:18310:15), <anonymous>:4:230)
at callback (http://localhost:3000/js/main.js:28558:17)
at Scope.$eval (http://localhost:3000/js/main.js:20997:28)
at Scope.$apply (http://localhost:3000/js/main.js:21097:25)
at HTMLButtonElement.<anonymous> (http://localhost:3000/js/main.js:28563:23)
at HTMLButtonElement.dispatch (http://localhost:3000/js/main.js:3252:214)
at HTMLButtonElement.elemData.handle (http://localhost:3000/js/main.js:3209:98)
Я также попытался включить saveSelection
работать так безрезультатно:
global.rangy.saveSelection = require('rangy/lib/rangy-selectionsaverestore');
Это та же ошибка, что и в этом отчете об ошибке, но для меня она все еще не исправлена: https://github.com/fraywing/textAngular/issues/853.
Помощь приветствуется, если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
1 ответ
Я могу только включить alex88s ответ от Github:
(() => {
window.taTools = {};
window.rangy = require('rangy/lib/rangy-core');
})();
require('rangy/lib/rangy-selectionsaverestore');
require('textangular/dist/textAngular-sanitize');
require('textAngular/dist/textAngularSetup');
require('textAngular/dist/textAngular');
https://github.com/fraywing/textAngular/issues/1056
Однако мы используем импорт ES6 с Babel, и это наша рабочая версия на 1.5.0
(и то и другое angular
а также textAngular
версии настроены на это).
import rangy from 'rangy/lib/rangy-core';
(() => {
window.taTools = {};
window.rangy = rangy;
})();
import 'rangy/lib/rangy-selectionsaverestore';
import 'textangular/dist/textAngular-sanitize';
import 'textAngular/dist/textAngularSetup';
import 'textAngular/dist/textAngular';
import 'textAngular/dist/textAngular.css';
Однако мы действительно считаем, что это должно быть действительно упрощено до двух строк (одна для загрузки уменьшенной версии, а другая должна быть необязательной для CSS).