Jon*_*ing 4 javascript node.js express pug
运行Node.js@0.8.15 + Express@3.0.4 + Jade@0.27.7 + Stylus@0.31.0.由于某种原因得到以下错误.有谁知道这意味着什么?
我不认为我做任何奇怪的事情.这种情况发生在我做的时候:res.render(view, response);
Property 'visitFunction' of object #<Object> is not a function
at Object.Compiler.visitNode (/app/node_modules/jade/lib/compiler.js:176:32)
at Object.Compiler.visit (/app/node_modules/jade/lib/compiler.js:161:10)
at Object.Compiler.visitBlock (/app/node_modules/jade/lib/compiler.js:253:12)
at Object.Compiler.visitNode (/app/node_modules/jade/lib/compiler.js:176:32)
at Object.Compiler.visit (/app/node_modules/jade/lib/compiler.js:161:10)
at Object.Compiler.compile (/app/node_modules/jade/lib/compiler.js:78:10)
at parse (/app/node_modules/jade/lib/jade.js:101:23)
at Object.exports.compile (/app/node_modules/jade/lib/jade.js:163:9)
at Object.exports.render (/app/node_modules/jade/lib/jade.js:215:17)
at View.exports.renderFile [as engine] (/app/node_modules/jade/lib/jade.js:243:13)
Run Code Online (Sandbox Code Playgroud)
您可能会收到该错误的原因之一是因为您添加了新属性(通常是方法) Object.prototype
例:
Object.prototype.someNewMethod = function (value1, value2) {
// ... perform some operations
return this;
};
Run Code Online (Sandbox Code Playgroud)
Object不推荐使用这种添加新属性的方式,如问题#1033中所述的快速项目.Object.defineProperty应与enumerableset一起使用false.
延伸的实施例Object与Object.defineProperty
Object.defineProperty(
Object.prototype,
'someNewMethod',
{
writable : false,
// Will not show up in enumerable properties (including for-in loop).
enumerable : false,
configurable : false,
value : function (value1, value2) {
// ... perform some operations
return this;
}
}
);
Run Code Online (Sandbox Code Playgroud)
我有完全相同的问题,并使用Object.defineProperty与enumerable:false定义新属性解决了问题.
我希望这会有所帮助.
| 归档时间: |
|
| 查看次数: |
149 次 |
| 最近记录: |