1

我是新來的角的js大型Angular應用程序的項目結構?

我要創造我的項目結構,這樣

​​

這裏的核心,試驗不同的模塊(NG-APP)

我配置一樣這裏

app.js angular.module( 'mainapp',[ 'mainapp.core', 'mainapp.test'])

core.app.js angular.module( 'mainapp.core',[])

test.app.js angular.module( 'mainapp.test',[])

在這裏我gettiing問題,我的核心模塊狀態不能正常工作。我使用$ staeprovider(ui-views)進行路由。

例如

core.config.routes.js

angular.module('mainapp.core').config(function($stateProvider, 
     $urlRouterProvider) { 

$stateProvider 
    .state('core', { 
     url: '/core', 
     templateUrl: 'modules/core/views/core.html', 

    }) 
    .state('core.sidebar ', { 
     url: '^/sidebar ', 
     templateUrl: 'modules/core/views/core.sidebar .html' 
    }) 
    }); 

test.config.routes.js

angular.module('mainapp.test').config(function($stateProvider, 
     $urlRouterProvider) { 

$stateProvider 

    .state('core.sidebar .test', { 
     url: '^/test', 
     templateUrl: 'modules/core/views/test.html' 
    }) 
    }); 

我的HTML頁面

的index.html

<div ng-app="mainapp"> 
     <div ui-view= ""></div> 
    </div> 

core.html

` <div> 
      <h1>I am designing jeader Here. it goes on tp of page</h1> 
      <div ui-view></div> 
     </div>` 

core.sidebar的.html

`<div> 
    <h2>It goes left side</h2> 

     <h1>I am designing sidebar Here</h1> 

     <div ui-view></div> 
    </div>` 

,直到這工作的罰款。 heaser,代爾欄加載$狀態下core.sidebar

在這裏我得到的問題是」不工作 的test.html

<div> 
     <h1>I am designing middle content Here</h1> 

    </div> 

請任何一個可以幫助我解決這個問題,建立更好的項目結構方法

回答

0

我建議你看他們如何推薦項目結構的Angular Style Guide。https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#application-structure-lift-principle

我真的很喜歡他們的推薦使用LIFT方法:

  • 定位我們的代碼很容易
  • 一目瞭然
  • 扁平結構識別碼,只要我們能
  • 嘗試保持乾燥(不要重複自己)或T-DRY

本着這種精神,您可能只需要一個模塊文件夾,然後使用文件命名約定來保持組織性。在我的項目中,我這樣做並使用ng結構前綴。例如:

  • nx.core
    • controller.header
    • controller.footer
    • controller.app
    • 路由
  • nx.admin
    • 路線
    • controller.admin
    • directive.blah

這樣做,我能夠同時實現組織扁平化,以及我需要用眼睛快速過濾,哪些文件。那麼唯一的缺點是如果你在你的IDE中使用快捷方式來快速打開文件,你通常認爲在FindingsController不通過像前綴controller.Findings。我的2¢