加载模板失败
Posted
技术标签:
【中文标题】加载模板失败【英文标题】:Failed to load template 【发布时间】:2015-11-28 23:38:32 【问题描述】:我正在阅读 Angular.js 网站上的教程,希望能够将它的一些强大功能集成到我现有的一些应用程序中。所以一切都很好,直到我开始使用(角度路线)部分。更具体地说,我无法解决我的应用无法找到并加载必要的部分的问题。
我认为该错误可能与教程未使用翡翠模板引擎这一事实有关,但我对文件路径所做的任何更改都被证明是不成功的。任何建议将不胜感激。
谢谢。
我的文件结构:
myApp
├── data
| |-- contacts.json
|---public
│ ├── javascripts
│ │ ├── controllers
| | |---controller.js
| | |---app.js
|---views
| |---partials
| | |---phone-list.jade
| | |---phone-detail.jade
| | |---contact.jade
| |---index.jade
| |---layout.jade
我的代码如下:
app.js:
'use strict';
/* App Module */
var phonecatApp = angular.module('phonecatApp', [
'ngRoute',
'phonecatControllers'
]);
phonecatApp.config(['$routeProvider',
function($routeProvider)
$routeProvider.
when('/phones',
templateUrl: 'partials/phone-list',
controller: 'PhoneListCtrl'
).
when('/phones/:phoneId',
templateUrl: 'partials/phone-detail',
controller: 'PhoneDetailCtrl'
).
otherwise(
redirectTo: '/phones'
);
]);
我的错误信息:
GET http://localhost:3000/partials/phone-list 404 (Not Found)
【问题讨论】:
你有文件partials/phone-list
吗?那应该是 html 模板
partials 文件夹在哪里?和 phone-list.html
对不起,太晚了,当我写这个问题时,大声笑,但是(是的,我已经有了部分文件夹,我已经将它附加到上面的问题中。
我假设您正在使用一个 express 应用程序,该应用程序是从目录的根目录托管的。因此,对partials 的请求理想地是`/views/partials/phone-list'。但是,那里没有 HTML 文件,因为它是一个翡翠文件,我相信您需要更新您的 express 逻辑以在可能使用正则表达式使用该 URL 发出请求时处理并返回 HTML。
谢谢。这是使用 M.E.A.N 堆栈的标准流程吗?您能否向我指出有关该主题的任何文档?
【参考方案1】:
根据您的文件结构,您没有任何 partials 文件夹
【讨论】:
我很抱歉。我的应用程序确实包含了 partials 文件夹,这是我的错误在我的问题中没有正确表示。我已附加问题以更准确地反映我的申请状态。 好的,不用担心,但我仍然可以看到您的代码和文件结构之间存在一些差距。 localhost:3000/partials/phone-list 是你要打电话的,但你至少应该打电话给 localhost:3000/views/partials/phone-list,不是吗? :) 当我尝试修改文件路径时,我收到以下错误消息:error.GET http://localhost:3000/views/partials/phone-list 404 (Not Found)
解析文件有问题吗?翡翠文件居然有HTML版?
我不确定我理解你的意思。我的印象是,jade 文件在访问浏览器之前不会变成 html。有没有办法让我路由到解析的 html 文件而不是玉文件?以上是关于加载模板失败的主要内容,如果未能解决你的问题,请参考以下文章