如何将基于require.js的脚本包含在Angular中作为组件

问题描述

我喜欢使用基于Ace编辑器的xtext编辑器创建Angular组件。 您可以找到编辑器https://www.eclipse.org/Xtext/documentation/330_web_support.htmlhttps://xtext-demo.itemis.com/的示例。

使用require.js将其包含到纯html中的代码如下:

require.config({
    paths: {
        "jquery": "webjars/jquery/<version>/jquery.min","ace/ext/language_tools": "webjars/ace/<version>/src/ext-language_tools","xtext/xtext-ace": "xtext/<version>/xtext-ace"
    }
});
require(["webjars/ace/<version>/src/ace"],function() {
    require(["xtext/xtext-ace"],function(xtext) {
        xtext.createEditor();
    });
});

现在,我正在努力将其包含在基于Angular的组件中。我尝试了以下方法。

import { Component,OnInit,Input } from '@angular/core';

import 'ace-builds/src/ace';
import 'ace-builds/src/ext-language_tools';
import xtext from 'xtext/xtext-ace';

@Component({
  selector: 'app-qml-editor',templateUrl: './qml-editor.component.html',styleUrls: ['./qml-editor.component.css']
})
export class MyDslEditorComponent implements OnInit {

  @Input() componentId: string;

  constructor() { }

  ngOnInit() {
    console.log('xtext',xtext);
    xtext.createEditor();
  }
}

编译代码时,我得到类似...

ERROR in ./node_modules/ace-builds/src/ace.js
Module not found: Error: Can't resolve '../../lib/lang' in '..my-dir..\node_modules\ace-builds\src'
ERROR in ./node_modules/ace-builds/src/ace.js
Module not found: Error: Can't resolve '../../lib/oop' in '..my-dir..\node_modules\ace-builds\src'

在ace.js文件中,require.js似乎无法正常工作。所有本地引用均未正确解析。

ace.js

经过数小时的搜寻后,我也找不到解决方案。但是许多主要是我对它应该如何工作的理解的缺失。

对此将提供任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...