【问题标题】:Jade with Express - ReferenceError: window is not definedJade with Express - ReferenceError:未定义窗口
【发布时间】:2012-03-20 02:53:00
【问题描述】:

我是 node.js 的新手,我只是想学习如何使用 Express 和 Jade。似乎jade.js中的这一行引起了某种问题:window.jade = require("jade");

我可以很好地启动我的服务器,但是当我在浏览器中访问它时出现此错误:

ReferenceError: window is not defined
    at C:\Users\User\Desktop\node-js-web\node_modules\jade\jade.js:3142:1
    at Object.<anonymous> (C:\Users\User\Desktop\node-js-web\node_modules\jade\jade.js:3143:2)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at Object.<anonymous> (C:\Users\User\Desktop\node-js-web\node_modules\jade\index.js:4:5)
    at Module._compile (module.js:441:26)

当我注释掉该行时,我得到了这个错误:

TypeError: Object #<Object> has no method 'compile'
    at Function.compile (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\view.js:68:33)
    at ServerResponse._render (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\view.js:417:18)
    at ServerResponse.render (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\view.js:318:17)
    at C:\Users\User\Desktop\node-js-web\server.js:37:7
    at callbacks (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:272:11)
    at param (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:246:11)
    at pass (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:253:5)
    at Router._dispatch (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:280:4)
    at Object.handle (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:45:10)
    at next (C:\Users\User\Desktop\node-js-web\node_modules\express\node_modules\connect\lib\http.js:203:15)

我真的不知道在这里做什么。有人可以帮忙吗?

【问题讨论】:

    标签: node.js express pug


    【解决方案1】:

    Node.js 中没有 window 对象,因为它不在浏览器中。如果要将jade 附加到全局范围,请使用global

    (但是你为什么要让这个变量对你的应用程序是全局的呢?只有 Express 需要玉对象来呈现你的视图。)

    【讨论】:

    • 这段代码在jade.js中——显然是由于一些错误解决方法? link
    • 在仔细查看您的错误后,我发现它在jade.js 内部出现故障3142!? But jade.js is only 238 lines long。您如何将代码加载到 Node.js 中?看起来你不是在做一个简单的var jade = require('jade')
    • 嗯,我从 npm 下载的包丢失了 /lib/jade.js
    • 我下载了 /lib/jade.js 文件。现在可以使用了,谢谢!
    • 没问题,虽然我很惊讶npm install jade 没有从一开始就为你抓住这个......
    猜你喜欢
    • 1970-01-01
    • 2021-03-30
    • 2020-10-08
    • 2018-05-27
    • 2020-09-18
    • 2020-11-12
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多