【问题标题】:TypeError: g.rangy.saveSelection is not a function using textangular + rangy + browserifyTypeError: g.rangy.saveSelection 不是使用 textangular + rangy + browserify 的函数
【发布时间】:2016-03-10 08:21:27
【问题描述】:

我正在尝试将textAngular 实施到使用browserify 打包的Angular.js 项目中。

我通过npm 安装了rangytextAngular。它们是这样包含的:

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

非常感谢您的帮助,如果需要更多信息,请告诉我。

【问题讨论】:

    标签: javascript angularjs browserify rangy textangular


    【解决方案1】:

    我只能包含来自 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 的工作版本(angulartextAngular 版本都设置为这个)。

    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 的可选)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-31
      • 2019-08-13
      • 2016-03-07
      • 1970-01-01
      • 2017-08-23
      • 1970-01-01
      • 2020-06-29
      • 2020-06-17
      相关资源
      最近更新 更多