1

我已经为 angularjs 包含了 ui-router.js 。但不知何故,我没有让它与 requirejs 一起工作。

require.config
baseUrl:"/Scripts/app"
paths :
    jquery      :   "libs/jquery/jquery-2.0.3"
    bootstrap   :   "libs/bootstrap/bootstrap"
    angular     :   "libs/angular/angular"
    domReady    :   "libs/requirejs/domReady"
    blockui     :   "libs/jquery.blockUI"
    "ui-router" :   "libs/angular/angular-ui-router"
    "angular-resource"  :   "libs/angular/angular-resource"

shim:
    jquery:
        exports:
            "jquery"

    bootstrap:
        depts:["jquery"]

    angular:
        exports:
            "angular"

    "ui-router":
        exports:
            "ui.router"
        deps : ['angular']

    blockui : 
        deps : ["jquery"]

        "angular-resource":
            deps: ['angular']

    deps :['app','utils/common']

require ['angular','jquery','bootstrap','routes'] ,(angular,$) ->   
    $(document).ready ->
        angular.bootstrap document,['app']

现在我的 app.coffee 是

define ['angular','angular-resource','ui-router'] , (angular) ->
angular.module 'app',['ngResource']

控制台在 chrome 中给出错误

Uncaught TypeError: Cannot read property 'router' of undefined 

  TypeError: g is undefined    
g = g[part];

在火狐中。为什么我不能使用 ui-router 作为我的模块来将其加载到我的模块中用于 route.coffee ?

4

3 回答 3

2

终于在 ui-router 项目中得到了这个人的答案 这里是答案链接

使用 AMD 加载 requirejs 的 Ui-Router 问题

于 2013-10-15T21:14:50.000 回答
0
"ui-router":
    exports:
        "ui.router"
    deps : ['angular']

尤其"ui.router"是这里的坏人。

解决方案:不要在其名称中使用点。我什至使用“uiRouter”进行导出!

于 2013-10-03T14:16:52.333 回答
0

如果模块名称不正确,requirejs 无法加载脚本文件。所以你不能得到路由器。在开发环境中,你应该打开控制台窗口,在这个窗口中,你应该找到 requirejs 的错误。

于 2015-10-16T07:32:11.863 回答