为什么会在express.js中导致错误?
如果我在express.js服务的HTML页面中包含以下JavaScript代码段,则会出现错误。 为什么?
<script> var foo = /<%([\s\S]+?)%>/g; </script>
错误:
500 SyntaxError: Unexpected token ILLEGAL...
编辑:
完整页面:
<!DOCTYPE html> <html lang="en"> <head></head> <body> <script> var foo = /<%([\s\S]+?)%>/g; </script> </body> </html>
节点:v0.10.21 NPM:1.3.11 Express:3.3.8
编辑2:
如果我删除了百分号,那么错误就会停止。 我可以使用unicode字符编码replace百分号吗?
您的视图模板引擎(可能是EJS)试图插入部分正则expression式 – <%
means“代码从这里开始。
这不是最优雅的解决scheme,但是您可以强制模板将这些符号插入文本中,将其视为string。 尝试如下所示:
<script> var foo = /<%= '<' + '%' %>([\s\S]+?)<%= '%' + '>' %>/g; </script>
我刚刚安装了一个快速服务器,并加载了EJS来testing这个。 转义百分号时,我试了一下。 我不知道这是否会搞砸你要去的东西。
var foo = /<\%([\s\S]+?)\%>/g;
- nodejs表示读取文件并asynchronous返回响应
- 如果“无匹配”有效,则不进行修改
- 处理断开连接Express JS抛出错误访问拒绝用户本地主机
- 我怎样才能用节点检查器debuggingnodejs后端?
- ElasticSearch Nodejs Express自动化testing
- AngularJS,Node.js,ExpressJS应用程序集成问题
- 使用Express 4如何redirect到我自己的路线,而不会丢失req和响应数据?
- 在Node.js Web-Server中确定用户angular色并授予API访问权限的正确方法是什么?
- 如何使用node / express将每个无效请求路由到默认path