TypeError: g.rangy.saveSelection is not a function using textangular + rangy + browserify
TypeError: g.rangy.saveSelection is not a function using textangular + rangy + browserify
我正在尝试将 textAngular
实施到使用 browserify
打包的 Angular.js
项目中。
我通过 npm
安装了 rangy
和 textAngular
。它们是这样包含的:
global.rangy = require('rangy');
require('angular-sanitize');
require('textangular');
通过 gulp
使用 browserify
编译软件包时,没有显示任何错误。但是,只要我点击编辑器工具栏中的按钮,就会出现以下错误:
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。
感谢帮助,如果需要更多信息,请告诉我。
我只能包含来自 Github:
的 alex88s 答案
(() => {
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';
但是我们真的认为这应该真正简化为只有 2 行(一行用于加载缩小版本,另一行对于 CSS 应该是可选的)。
我正在尝试将 textAngular
实施到使用 browserify
打包的 Angular.js
项目中。
我通过 npm
安装了 rangy
和 textAngular
。它们是这样包含的:
global.rangy = require('rangy');
require('angular-sanitize');
require('textangular');
通过 gulp
使用 browserify
编译软件包时,没有显示任何错误。但是,只要我点击编辑器工具栏中的按钮,就会出现以下错误:
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。
感谢帮助,如果需要更多信息,请告诉我。
我只能包含来自 Github:
的 alex88s 答案(() => {
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';
但是我们真的认为这应该真正简化为只有 2 行(一行用于加载缩小版本,另一行对于 CSS 应该是可选的)。