Evaluate custom javascript method (CircularJSON) w

2019-03-06 11:57发布

问题:

I want to parse an object into client-side javascript through Jade. Normally this would work:

script var object = JSON.parse(#{JSON.stringify(object)});

but my object is circular and I need to do this

script var object = CircularJSON.parse(#{CircularJSON.stringify(object)});

but it throws the error

Cannot call method 'stringify' of undefined

which I guess is because Jade doesn't recognise my CircularJSON method. Any way to make it?

回答1:

It could be required and passed in the locals

response.render("index.jade", {CircularJSON : require('circular-json')});

Or it could be defined as a function in the scope of jade

- var CircularJSON = function(e,t){function l(e,t,o){var u=[],...//whole function
script var player = CircularJSON.parse('!{CircularJSON.stringify(player)}');