Я пытаюсь использовать monaco-editor для редактирования исходного кода с помощью веб-панели.
Работает очень хорошо, пока я не загружаю файл, использующий литералы шаблона.
index.js:
function processFile(inputFile) {
let fs = require('fs'),
path = require('path'),
rl = fs.readFileSync(path.join(__dirname,'../','../','../','apps/',inputFile));
return rl.toString('utf8');
}
router.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!', test: processFile('libs/ButtonTest.js') })
});
index.pug:
doctype html
html
head
title= title
script(src='monaco/vs/loader.js')
body
h1= message
div(id='container', style='width: 800px;height: 800px;')
script.
require.config({paths: {"vs": "monaco/vs"}});
require(["vs/editor/editor.main"], function() {
var model = monaco.editor.createModel(`!{test}`,'javascript');
var editor = monaco.editor.create(document.getElementById("container"));
editor.setModel(model)
});
Я думал об использовании regexp для замены литерала шаблона, но я не думаю, что это лучший из возможных способов.это не рабочий пример:
var test = [];
test.push("var t = 'test t';");
test.push('var c = "test c";');
test.push('var o = `test o ${c}, ${t}`;');
router.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!', test: test.join('\r\n') })
});
Ошибка браузера: Uncaught SyntaxError: Unexpected identifier