使用打字稿转译器将导入内容添加到基于Web的摩纳哥IDE

如何解决使用打字稿转译器将导入内容添加到基于Web的摩纳哥IDE

尊敬的互联网编码人员,

我正在为打字稿创建基于Web的IDE,它不需要所有功能,因为我仅使用它以灵活的方式转换数据。但是,它确实需要导入一些打字稿文件,并且还必须在浏览器中运行所有打字稿文件(也可以在C#中使用jint进行操作,但请不要超越自己)。

当前,我有一个基本的monaco编辑器设置,可以编译代码并使用eval在浏览器中运行它。但是,正如我说过的,我需要在IDE内导入一些文件,这些文件是我已经创建的一组特定文件,可以通过访问Web URL在浏览器中找到它们。

我无法向IDE添加任何导入,更不用说运行导入了。 目前,该模块向摩纳哥的添加如下:

monaco.languages.typescript.typescriptDefaults.addExtraLib(text,"file:///main.js");

其中的文本是我使用fetch获取代码的文本表示形式(如果我必须做一堆文件,这会很烦人,但如果有必要,我当然可以忍受)。

代码的转译如下:

const tsCode = editor.getValue();
const jsCode = window.ts.transpile(tsCode);
console.log(jsCode);

console.log("Running Code...");
const evaluated = eval(jsCode);
console.log("Ran Code,output was: ");
console.log(evaluated);
return evaluated;

使用https://unpkg.com/browse/typescript@4.0.2/lib/typescriptServices.js标签<script>导入ts。

编辑器本身的代码

editor = monaco.editor.create(
    document.getElementById('IDEContainer'),{
        value: [
            'function run() : void {','   console.log("Hello World!");','}','run();'
        ].join('\n'),language: 'typescript',theme: 'vs'/*,model: monaco.editor.createModel(text,"javascript",new monaco.Uri("main.js"))*/
    }
);

我还尝试创建一个模型,由于某种原因该模型只是用该文本替换了内容? 我猜想我需要为模块解析添加requireJS。但是,如果两次运行我的代码,则会出现错误提示我多次运行代码时每个脚本只能进行一次匿名定义调用

谢谢您的帮助!

P.S。不必担心运行代码的安全性,我们确保未授权的人无法上传任何文件。并且正在寻找一种阻止互联网并推动访问jint的方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?