Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么这会导致express.js中出现错误?_Javascript_Regex_Node.js_Express - Fatal编程技术网

Javascript 为什么这会导致express.js中出现错误?

Javascript 为什么这会导致express.js中出现错误?,javascript,regex,node.js,express,Javascript,Regex,Node.js,Express,如果我在express.js提供的HTML页面中包含以下JavaScript片段,我会得到一个错误。为什么? <script> var foo = /<%([\s\S]+?)%>/g; </script> 编辑: 全文: <!DOCTYPE html> <html lang="en"> <head></head> <body> <script>

如果我在express.js提供的HTML页面中包含以下JavaScript片段,我会得到一个错误。为什么?

<script>
    var foo = /<%([\s\S]+?)%>/g;            
</script>
编辑:

全文:

<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
    <script>
        var foo = /<%([\s\S]+?)%>/g;
    </script>
</body>
</html>

var foo=//g;
节点:v0.10.21 净现值:1.3.11 快递:3.3.8

编辑2:


如果删除百分号,则错误停止。我可以用unicode字符编码替换百分号吗?

您的视图模板引擎(可能是EJS)正在尝试插入部分正则表达式--
'%>/g;

我刚刚安装了一台express服务器,并加载了EJS来测试这一点。当我尝试逃避百分号时,它起了作用。我不知道这是否会破坏你的目标

var foo = /<\%([\s\S]+?)\%>/g;
var foo=//g;

500错误将从服务器发送,但如果在HTML页面中有该错误,则会呈现该错误,直到用户打开浏览器,才会捕获错误。我猜代码中的其他地方有一个错误,这一行正在捕获它?@Jason:您的代码也有同样的错误。我认为express在语法上有问题吗?当您将
var foo=/\/g有没有办法阻止EJS解析视图的一部分?让EJS吐出

<script>
    var foo = /<%= '<' + '%' %>([\s\S]+?)<%= '%' + '>' %>/g;            
</script>
var foo = /<\%([\s\S]+?)\%>/g;