node.js - Zappa 错误无法找到 View ( Jade 模板)

标签 node.js coffeescript pug zappa

我正在尝试一个 zappa Node 应用程序,但无法让它在一个简单的例子之外工作。

我有application.coffee

     require('zappajs') ->
       @set views: "#{__dirname}/views"
       @set 'view engine': 'jade'
       @use 'bodyParser', 'methodOverride', @app.router, 'static'


       @configure
         development: => @use errorHandler: {dumpExceptions: on}
         production: => @use 'errorHandler'

       @get '/': -> @render 'index'

我收到一个错误。 Zappa 似乎在文件名前加上一个 guid。

    example/app/views/7b16eeab-de6f-41b0-b196-8f23f4b7237d/index.jade

这是完整的轨迹

        Error: ENOENT, no such file or directory   '/Users/irfn/project/example/app/views/7b16eeab-de6f-41b0-b196-8f23f4b7237d/index.jade'
    at Object.fs.openSync (fs.js:338:18)
    at Object.fs.readFileSync (fs.js:182:15)
    at Object.rethrow (/Users/irfn/project/example/node_modules/jade/lib/runtime.js:155:27)
    at parse (/Users/irfn/project/example/node_modules/jade/lib/jade.js:116:13)
    at Object.exports.compile (/Users/irfn/project/example/node_modules/jade/lib/jade.js:163:9)
    at Function.exports.compile (/Users/irfn/project/example/node_modules/zappajs/node_modules/express/lib/view.js:68:33)
    at ServerResponse.res._render (/Users/irfn/project/example/node_modules/zappajs/node_modules/express/lib/view.js:417:18)
    at ServerResponse.res.render (/Users/irfn/project/example/node_modules/zappajs/node_modules/express/lib/view.js:318:17)
    at Object.zappa.app.app.(anonymous function).apply.concat.render (/Users/irfn/project/example/node_modules/zappajs/lib/zappa.js:593:33)
    at Object.zappa.app.app.(anonymous function).apply.concat.ctx.render (/Users/irfn/project/example/node_modules/zappajs/lib/zappa.js:545:31)

这是我的包 json 依赖项的设置方式

   "dependencies": {
      "coffee-script": "1.3.3",
      "underscore": ">= 1.3.3",
      "stylus": ">= 0.28.2",
      "zappajs": ">= 0.3.10",
      "jade":   ">= 0.18.0"
    },
     "devDependencies": {
       "watchr": "*",
       "mocha": "*",
       "chai":  "*",
       "request": "*"
     },

最佳答案

我自己遇到了这个 - 没有时间追查原因,但有一个简单的解决方法: 而不是

@get / : ->
    @render index: {key:value}

使用更老派的连接方式

@app.get '/', (req,res) -> 
    res.render 'index', {key:value}

希望这可以帮助您克服困难。

附言: 仔细想想,我认为这可能与 zappa 默认评估 coffee(k/c)up 模板的方式有关。在这种情况下,它可能会尝试将该逻辑应用于 splinter 的 Jade 。

关于node.js - Zappa 错误无法找到 View ( Jade 模板),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11818893/

相关文章:

node.js - 使用 node-postgres 查询 postgres 数据库

javascript - 是否可以为 Express 中的给定模板引擎添加全局渲染回调?

javascript - 访问 Underscore 模板中的 JADE 变量

javascript - node.js mysql insert id - 如何在插入查询之外公开插入 id?

javascript - Angular 页面挂起可能是由于内存使用率过高

backbone.js - 您如何在Coffeescript中进行匿名类(class)?

node.js - 在 Mongoose 插件中添加字段给出 "TypeError: Invalid value for schema path ` CreatedBy.type`"

dom - 使用 coffeescript 删除一个 div 元素

javascript - 将变量作为标签的 Jade 错误

javascript - 从数据设置输入的 'value' 属性?