Angular Import包含define的外部JS库

时间:2017-10-05 14:41:14

标签: angular requirejs eclipse-orion

我在Angular应用程序中成功导入了第三方库(Eclipse Orion编辑器),它运行正常 - 我可以编辑文本并使用它。但是,由于Uncaught ReferenceError: define is not defined。编辑器无法加载sytax突出显示。

我已经尝试过包含requirejs,但这样做的应用程序甚至都没有启动了。

我在angular-cli.json中添加了以下几行:

"scripts": [
    "../orion/editor/stylers/lib/syntax.js",
    "../orion/editor/stylers/application_xml/syntax.js",
    "../orion/editor/built-editor.min.js"
],

在我提供编辑的组件中:

ngOnInit() {
    System.import('../../../orion/editor/stylers/lib/syntax.js');    
    System.import('../../../orion/editor/stylers/application_xml/syntax.js');
    System.import('../../../orion/editor/built-editor.js')
        .then((o: any) => {
            this.orionEditor = o({
                document: document, className: 'editor', parent: 'xml', content-type: 'application/xml'
            })[0];
            this.orionEditor.setText(this.innerValue);
        });
}

除了define is not defined错误以及Error: undefined missing orion/editor/stylers/application_xml/syntax错误之后,所有这一切都正常。

有没有人有加载在Angular中使用requirejs的库的经验,可以帮助我吗?

GitHub上提供了一个演示此问题的简单示例。

0 个答案:

没有答案