her*_*101 1 javascript filter ejs node.js
我正在尝试使用Node.JS将过滤器应用于EJS,我收到以下错误.我希望消息内容以大写形式显示.
D:\Apps\Templating\ejs>node server.js
D:\Apps\node_modules\ejs\lib\ejs.js:470
throw e;
^
SyntaxError: Unexpected token : while compiling ejs
at Function (native)
at Object.Template.compile (D:\Apps\node_m
odules\ejs\lib\ejs.js:460:12)
at Object.compile (D:\Apps\node_modules\ej
s\lib\ejs.js:288:16)
at handleCache (D:\Apps\node_modules\ejs\l
ib\ejs.js:147:16)
at Object.exports.render (D:\Apps\node_mod
ules\ejs\lib\ejs.js:315:10)
at Object.<anonymous> (D:\Apps\Templating\
ejs\server.js:3:17)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
Run Code Online (Sandbox Code Playgroud)
这是我的code- server.js:
var ejs = require('ejs');
var template = "<%=: message | upcase %>";
console.log(ejs.render(template,{message : 'hello ejs with filter'}));
Run Code Online (Sandbox Code Playgroud)
我已经使用包管理器安装了ejs,它适用于带有过滤器(:)的普通脚本.下载的EJS版本是最新版本2.3.3,节点版本是0.12.4.
npm install ejs
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.提前致谢.
当前版本的ejs(v2.3.3)不支持从版本2中删除的过滤器.如果要使用过滤器,则需要安装1.x版本:
$ npm i ejs@1.x
Run Code Online (Sandbox Code Playgroud)