AngularJS路由语法错误非法字符

时间:2015-04-23 07:53:57

标签: javascript angularjs routes

我正在尝试在我的网站上添加一个新页面(它是由其他人开发的)当我在路线中添加另一个块时,我只会收到如下错误:

  

错误:[$ 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>

有关这种情况的任何帮助,我怎么能摆脱这个错误?提及一下,当我收到该错误时,网页看起来就像一团糟。

1 个答案:

答案 0 :(得分:1)

我已经完成了。这与角度无关,但与nginx无关。让我们更深入地告诉你发生了什么:

我正在使用此流程来完成项目: Ubuntu 12.04 nginx PHP-FPM

Nginx有一个 sendfile 指令,默认为on。它允许nginx使用Linux内核的sendfile()操作从磁盘读取所请求的文件。这通常比使用read()write()更快。到目前为止,非常好。

问题是 sendfile 在虚拟环境中无法正常运行。修复结果非常简单 - 只需关闭sendfile 。由于它是一台开发机器,因此关闭此功能所带来的性能损失可以忽略不计。 (它希望成为一个相当重要的性能命中,超过文件截断!) 在nginx配置http服务器块中,我添加了:

sendfile off;

一旦nginx重新启动,我就会收到完整的静态文件,并且再次与世界相得益彰!