【问题标题】:How to load node-blade templates client side. Error: request failed如何加载节点刀片模板客户端。错误:请求失败
【发布时间】:2014-03-17 22:36:20
【问题描述】:

我花了几个小时试图找到解决这个问题的方法,但这非常困难。我已经阅读了https://github.com/bminer/node-blade#simple-example 的安装说明和示例,但似乎无法加载客户端刀片模板。

这是我所做的。

我在 /views/template.blade 的公共静态服务器中有一个客户端模板。

我已经拉入刀片“runtime.js”文件并将其包含在 html 正文底部的脚本标记中。

在我的 main.js 文件中,我试图简单地运行代码:

blade.Runtime.loadTemplate("template.blade", function(err, tmpl){
    console.dir(err, tmpl);
});

我已验证它可以正确访问 template.blade 文件,因为它位于可从 Chrome 开发工具查看的页面源代码中。此外,如果我将上述参数更改为“templateXYX.blade”,我会收到 404 错误。

但我无法绕过错误:

Uncaught SyntaxError: Unexpected token default template.blade:1

在不同的测试排列中,我也收到了以下错误:

Resource interpreted as Script but transferred with MIME type application/octet-stream: "http://localhost:3005/views/template.blade". 

从节点刀片说明中,我无法理解是否缺少任何设置。

知道为什么blade.Runtime.loadTemplate 在读取template.blade 文件时会抛出此错误吗?这就像它试图将 .blade 文件作为 javascript 文件读取并且无法解析它一样?

感谢任何线索。

【问题讨论】:

    标签: node-blade


    【解决方案1】:

    你的预感是正确的; blade.Runtime.loadTemplate 正在尝试解析 已编译 Blade 模板,但它得到的是 Blade 源文件。

    我相信您缺少的关键部分是您必须通过 Blade 中间件加载 *.blade 文件,而不是从静态文件服务器中间件加载。 Blade 中间件负责将 Blade 模板编译成 JavaScript,将结果缓存在内存中,并将编译后的版本提供给客户端。

    查看此链接以获取more information about the Blade middleware

    如果您仍有任何疑问或问题,请回复。谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多