angularjs - 未找到 Yeoman 指令模板

标签 angularjs windows yeoman

我有一个与 Yeoman 一起开发的有 Angular 的网站。当我在开发过程中进行迭代时,我的网站运行良好。当我在开发后部署缩小、丑化、版本化的网站时,在加载网站时在控制台中加载指令模板时出现以下错误。

Error: [$compile:tpload] Failed to load template: views/template_name.html (HTTP status: 404 Not Found)

我将 Windows 7 与所有 yeoman 网络客户端工具集(grunt、npm、bower、compass 等)一起使用。

最佳答案

此错误的原因是 Windows 文件不区分大小写,而显然 javascript 字符串是。我的解决方案是确保我的指令中的 templateUrl 字段的大小写与我的 View 文件夹中的文件的大小写完全匹配。

解释:

Yeoman 做了一件很棒的事情,它将在缩小 javascript 文件中的缩小/丑化/版本化/部署过程中为您创建一个 angularjs 模板缓存。它会找到从您的 templateUrl 中引用的模板,并将它们捆绑到 javascript 文件中的纯文本中,因此您无需执行任何操作,它就可以正常工作!我遇到的问题是模板缓存在我的指令中的 templateUrl 字段中使用文件名进行索引。

在开发模式下,节点从服务器(在我的 Windows 机器上)上的文件加载模板,并且此加载不区分大小写。在使用此模板缓存的所谓“dist”模式下,此 templateUrl 查找现在区分大小写

我的解决方案是确保我的 templateUrl 字段的大小写与我的 View 文件夹中的文件的大小写完全匹配。

关于angularjs - 未找到 Yeoman 指令模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31690191/

相关文章:

Windows 中的 JavaFx 应用程序未正确显示文本

c# - 如何获取服务器上打开的 HTTP 连接总数?

javascript - 如何在不缩小的情况下构建 Yeoman Angular-FullStack

gruntjs - grunt clean 无法删除 ".tmp"文件(EPERM,不允许操作)

javascript - 如果 bool 值在没有 $watch 的情况下发生变化,是否可以将 bool 值传递给指令并触发某些内容?

javascript - 除了某些元素,Angular JS 禁用触摸滚动

c++ - 如何在默认桌面和 Winlogon 桌面之间切换进程?

node.js - 警告 : Task "karma" not found when running grunt test

javascript - 将数据验证放在客户端和服务器端是否更好?

javascript - 如何让ng-bind-html编译angularjs代码