我正在尝试在我的网站上添加一个新页面(它是由其他人开发的)当我在路线中添加另一个块时,我只会收到如下错误:
错误:[$ injector:modulerr]无法实例化模块nameApp到期 to:[$ injector:nomod] Module' nameApp'不可用!你要么 拼写错误的模块名称或忘记加载它。如果注册了 模块确保您将依赖项指定为第二个 论点。 http://errors.angularjs.org/1.3.12/ $注射器/ NOMOD?P0 = nameApp
我的路由配置:
.config(
function($routeProvider, $locationProvider)
{
$routeProvider
.when('/home', {
templateUrl: 'templates/home.html',
title: 'Home',
controller: 'HomeController',
reloadOnSearch: false
})
.when('/about', {
templateUrl: 'templates/about.html',
reloadOnSearch: false
})
.otherwise({ redirectTo: '/404' });
$locationProvider.html5Mode(true);
}
)
我对此配置没有任何问题,因为它在Web浏览器中加载正常,但是当我尝试添加时:
.when('/donate', {
templateUrl: 'templates/donate.html',
reloadOnSearch: false
})
我收到上述错误。 (我还创建了 donate.html 文件)
的index.html
<li>
<a ng-class="getClass('/')" title="Home" href="/">Home</a>
</li>
<li>
<a ng-class="getClass('/about')" title="About Us" href="/about">About Us</a>
</li>
<li>
<a ng-class="getClass('/donate')" title="Donate" href="/donate">Donate</a>
</li>
有关这种情况的任何帮助,我怎么能摆脱这个错误?提及一下,当我收到该错误时,网页看起来就像一团糟。
答案 0 :(得分:1)
我已经完成了。这与角度无关,但与nginx无关。让我们更深入地告诉你发生了什么:
我正在使用此流程来完成项目: Ubuntu 12.04 , nginx , PHP-FPM
Nginx有一个 sendfile 指令,默认为on。它允许nginx使用Linux内核的sendfile()
操作从磁盘读取所请求的文件。这通常比使用read()
和write()
更快。到目前为止,非常好。
问题是 sendfile 在虚拟环境中无法正常运行。修复结果非常简单 - 只需关闭sendfile 。由于它是一台开发机器,因此关闭此功能所带来的性能损失可以忽略不计。 (它希望成为一个相当重要的性能命中,超过文件截断!) 在nginx配置http服务器块中,我添加了:
sendfile off;
一旦nginx重新启动,我就会收到完整的静态文件,并且再次与世界相得益彰!