簡體   English   中英

在Angular和Require中使用r.js

[英]Using r.js with Angular and Require

在我的角度應用程序中使用require時,我在設置r.js時遇到問題。 我是使用AMD的新手,所以它可能很容易解決。 不幸的是,由於必須能夠使用相同的默認組件添加更多客戶端,因此目錄結構必須保持原樣。

我得到的錯誤是它找不到控制器依賴項。 可以從Client#1 / Directory_For_Prod_Packs / Angular / Default / _Controllers / .js引用它們。 因此,從本質上講,它是在構建文件所在的末尾添加整個絕對路徑,或者至少在我看來是這樣。 任何幫助都將是驚人的。 本質上,我只想擁有一包我所有的指令,服務,控制器等。或者一包controllers.js然后是指令。

這是我的目錄結構。

  • 角度的
    • 解放
      • angular.js
    • 默認
      • 控制器
        • _Controllers.js //控制器包
        • .js //所有單獨的控制器
      • 指令
        • _Directives.js
        • .js
    • 客戶端#1
      • main.js //需要配置
      • app.js
      • build.js // r.js構建配置

這是我的r.js build.js

({
baseUrl: '../../lib/Angular',
dir: "../../Client#1/ProductionBuild",
paths: {
    "controllers": '../../Default/_Controllers/_Controllers',     
}, 
modules: [
    {
    name: "controllers"
    }
] 
})

最后是我的_Controller.js

define(['angular',
    '../../Default/_Controllers/controller1.js',
    '../../Default/_Controllers/controller2.js'],
    function(angular) {
        'use strict';

        var dependencies = ['controller1',
                            'controller2',];

        angular.module('app.controllers', dependencies);
    }
);

我不確定問題到底出在哪里(目錄結構和../..似乎不匹配,盡管我可能會誤會),但是嘗試將build.js屬性設置為:

  • baseUrl :包含腳本的文件夾, 相對於加載腳本的HTML頁面而言, 而不是相對於build.js
  • dir相對於build.js構建輸出文件夾
  • appDir :應用程序文件夾。 它可能包含一個index.html ,用於引導您的應用程序的腳本。 baseUrl配置屬性指向的文件夾必須在此文件夾下! 這是相對於build.js

請特別注意baseUrl ,那些../..看起來可疑。 它相對於index.html ,而不是build.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM