【问题标题】:angular-route dependency not requiring不需要角度路由依赖
【发布时间】:2015-12-23 12:39:50
【问题描述】:

使用新的 angular-route 版本,您需要在依赖项中添加 require('angular-route'),但我似乎无法使其正常工作。在angular-route npm page 中,它说要做angular.module('myApp', [require('angular-route')]);

这是我的代码:

angular.module('app.routes', [require('angular-route')])
.config(function($routeProvider, $locationProvider){
    $routeProvider
    .when('/', {
        templateUrl: 'app/views/pages/home.html'
    });
    $locationProvider.html5Mode(true);
});

当我运行我的服务器时,我收到错误:require is not defined

谁能帮帮我。

【问题讨论】:

    标签: angularjs routes npm


    【解决方案1】:

    如果你想在前端使用require,你需要使用browserify

    Browserify 是一个节点模块,它获取您的主要 JavaScript 文件,读取其所有必需的依赖项(以及依赖项的依赖项),并生成一个 JavaScript 文件,准备好包含在您的 HTML 中。该文件包含实际上与浏览器兼容的 JavaScript 代码,换句话说,它可以浏览您的 Node 模块。

    您还可以查看以下链接,他如何使用 browserify 构建 angular js

    http://omarfouad.com/blog/2015/03/21/advanced-angularjs-structure-with-gulp-node-and-browserify/

    否则你需要使用下面的代码sn-p。

    angular.module('app.routes', ['ngRoute']);
    

    【讨论】:

    • 我最后一次这样做是在大约 4 个月前,您只需在 index.html 中的 app.js 之前链接 angular-route 文件,然后在 app.js 中,您只需致电:angular.module('app_name', ['ngRoute'])...。你怎么不能再这样做了?
    • 你说得对。如果您想将 Angular 与节点 js 一起使用,则需要 browserify,除此之外,您可以在您的应用程序 js 中执行 angular.module('app.routes', ['ngRoute']); 并在 angular.js 和 angular-route.js 文件之后将 app.js 包含在您的 html 文件中。您可以查看以下链接以获取更多许可docs.angularjs.org/api/ngRoute/service/$route
    • 我发现了问题......我所要做的就是包含我的服务文件和控制器文件
    【解决方案2】:

    你应该像往常一样使用依赖注入:

    angular.module('app.routes', ['angular-route']);
    

    请记住,您需要在加载 app.js 之前加载 angular-route 模块。

    要求来自requirejs

    【讨论】:

    • 实际上,当我问这个问题时,我已经有一段时间没有使用 Angular 了,我的问题是 angular-route 依赖项实际上是作为 ngRoute 注入的,而不是 angular-route。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    相关资源
    最近更新 更多