如何在客户端加载节点刀片模板.错误:请求失败



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

以下是我所做的。

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

我已经提取了blade"runtime.js"文件,并将其包含在html主体底部的脚本标记中。

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

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

我已经验证了它是否正确访问了template.blade文件,因为它位于可从Chrome开发工具查看的页面源中。此外,如果我将上面的参数更改为"templateXX.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". 

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

知道为什么用刀片吗。Runtime.loadTemplate在读取template.blade文件时引发此错误?这就像它试图将.blade文件作为javascript文件读取,但解析失败?

谢谢你提供任何线索。

你的预感是正确的;blade.Runtime.loadTemplate正试图解析编译的刀片模板,但它得到的却是刀片源文件。

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

有关刀片中间件的更多信息,请查看此链接

如果您还有任何问题或问题,请回复。谢谢

最新更新