1

textAngularを使用してパッケージ化されたAngular.jsプロジェクトに実装しようとしていbrowserifyます。

rangytextAngular経由でインストールしnpmました。それらは次のように含まれています。

global.rangy = require('rangy');
require('angular-sanitize');
require('textangular');

browserifyviaでパッケージをコンパイルすると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

助けていただければ幸いです。さらに情報が必要な場合は、お知らせください。

4

1 に答える 1

2

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

ただし、私たちはBabelでES6インポートを使用しており、これが現在の作業バージョンです(とバージョンの両方がこれに設定されています)。1.5.0angulartextAngular

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 行に単純化する必要があると考えています (1 行は縮小版をロードするためのもので、もう 1 行は CSS のオプションにする必要があります)。

于 2016-02-12T09:54:22.077 に答える