2016-10-14 2 views
0

내가 현재 다음과 같이

는 현재 우리의 프로젝트 레이아웃 구조가 보이는 라우팅 추가하여 작업 할 웹 응용 프로그램을 향상시키기 위해 attemtping에 대한 몇 가지 조언을 좀하고 싶습니다 (우리는 같은 페이지의 수백

현재 하드 부하는 항상 페이지 스위치 사이에 필요한
html 
- example1.html 
- example2.html 

js 
    -example1_functions.js 
    -example2_functions.js 

css (Sometimes each page has there own, Majority of the time they share a few between them) 
    -example1_css 
    -example2_css 

는, 우리의 페이지의 대부분은 HTML의 ID와 주요 사업부를 사용하여 구축하는 코드의 잠재적 1000의 선)과 일치하는 JS 파일이, HTML, 그런 다음 javascript는 "mysite/example1.html"을 방문하면이 div에 콘텐츠를 삽입합니다.

Html (example1.html) 
------ 

<script src="example1_functions.js"></script> 

<!-- Potentially boiler plate HTML here for filters, Headers etc --> 
<div id="dataContainer"> </div> 
<script> 
    $(document).ready(function() { 
     generateContent(); 
    }); 
</script> 

JS (example1_functions.js) 
------ 

function generateContent(){ 
    document.getElementByID("dataContainer").innerHTML = "Cool content"; 
} 

등등 ...

내가 라우터를 반응 사용 경험을 가지고하지만 난 쉽게 노선이 할 수있는 등 기존 웹 응용 프로그램을 변환 할 수 있는지 여부에 대한 정보를 찾을 수 없습니다 그렇게 쉽게 표현 될 수 없다.

답변

0

프레임 워크를 통합하는 데 시간과 자원이 있다면 나는 각도 조합 라우터가 함께 제공되지만 각도가 확장 된 기능을 찾고 있다면 각도 대신 ui-router 플러그인을 사용하는 것이 좋습니다. 하나의.

ui-router를 사용하는 Google 애플리케이션의 예입니다.

angular 
    .module('app.globalSettings', ['ui.router']) 
    .config(globalSettingsConfig); 


globalSettingsConfig.$inject = [ 
    '$stateProvider' 
]; 

function globalSettingsConfig($stateProvider) { 

    $stateProvider 
     .state('app.globalSettings', { 
      url: '/globalSettings', 
      views: { 
       "[email protected]": { 
        controller: 'GlobalSettingsCtrl', 
        controllerAs: 'vm', 
        templateUrl: 'app.cms/globalSettings/views/global-settings.html' 
       } 
      }, 
      data: { 
       title: 'Global Settings' 
      } 
     }); 
} 

프로젝트 구조 현명한,보고 당신은 컴포넌트 기반 구조가 아마 가장 좋은 방법은 잠재적 인 스파게티 코드 라인의 수천 말했다. 예를

--> app 
    --> post 
    --> controllers 
    --> directives 
    --> services 
    --> views 
    --> module.js --> where ui-router info goes for component 
--> app.js (this wires up all modules in your app) 

이 함께 플레이 할 수있는 정말 쉬운 방법을

은 유사시를 설치하는 것입니다 그리고 당신은 대부분의 시간을 당신을 위해 일을 소모 할 발전기가있다! 현재 응용 프로그램에 통합에 관한

https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md

은 (는) 자기에 안)하지만, 정보에 대한 당신 '여기에

https://github.com/yeoman/generator-angular

은 깔끔한 코드를 유지에 스타일 가이드의 경우입니다 그것이 어려운 것보다 시간이 많이 걸리는 것처럼 들린다.

업데이트 : angle2를 확인해야하는 경우 아직 초기 단계이지만 아직 앱을 재구성해야한다는 사실을 알게되면 약간의 연구를 통해 상상할 수 있는지 알아볼 수 있습니다. .

+0

의견에 감사드립니다. 우리는 기존의 devs를 성공시키지 않으려 고 포트를 시도 했으므로 불행히도 아무런 노력도하지 않습니다 (기존의 개발자는 몇 달을 보내지 않아서 이제는 서명을 해제 할 수 없게됩니다). 그래도 도움이 되겠지. 리팩토링 할 때까지 기존의 스파게티 코드를 신속하게 만들 수있는 방법이 이상적입니다 (If :()와 안타깝게도 불행히도 라우팅 라이브러리를 사용하여 시스템의 일부분을 사용할 때 반응을 사용할 수 있습니다. –

+0

아무 문제 없습니다.이 블로그를 한눈에 살펴본 후 수치가 있습니다. http : //blog.andrewray .me/reactjs-for-stupid-people/defo 결코 나를 만진 적이없는 반응을 보이는 블로그.그것은 아마도 당신이 필요로하는 것을 할 것입니다. 그것이 나를 위해 가지 않는 것은 MVC의 순수한 V입니다. 물론 그것이 그것이 당신을위한 목적이라면 그것은 아마도 최선의 방법 일 것입니다. 아약스와 같은 추가 기능을 수행하기로 결정한 경우 향후 (각도와 같은) 프레임 워크를 통합 할 수있는 것 같습니다. – Tom

+0

구조를 재구성하려는 경우 구성 요소 모듈 기반 접근 방식을 사용하여 미래의 통합을 위해 쉽게 통합 할 수 있도록 빨리 추가해야합니다. 미래 건물에 아무런 해가 없습니다! – Tom