我在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上提供了一个演示此问题的简单示例。