未找到 Yeoman 指令模板

Yeoman Directive Template Not Found

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

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 字段的大小写与视图文件夹中文件的大小写完全匹配。

解释:

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

在开发模式下,节点从服务器上的文件(在我的 windows 机器上)加载模板,并且此加载大小写 不敏感 。在使用此模板缓存的所谓 "dist" 模式下,此 templateUrl 查找现在大小写 sensitive.

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