2016-06-28 6 views
2

나는 Angular2 (미래의 물결, 명백하게)를 가르치고 있으며 실험을하고 있습니다. 여기 이브라힘 Uludag의 튜토리얼 다음 :Angular2 및 ASP.NET MVC

http://www.ibrahimuludag.com/2016/01/angular2-and-visual-studio.html

을하고 잘 작동합니다. 그러나 Ibrahim이 제안한대로 TypeScript 프로젝트 대신 MVC 프로젝트를 사용하고 싶습니다. 나는 간단한 구조 (하나의 컨트롤러, 하나의 뷰)를 사용하고 있으며 Angular2 JavaScript 참조를 헤더, 바디 등과 함께 내 뷰에 추가했다. 필자는 파일 이름에 슬래쉬를 붙여야 만했다. 그렇지 않으면 서버가 컨트롤러/뷰 참조로 해석한다. 그 부분은 잘 작동합니다.

내가 가진 문제는이 명령입니다 :

System.config ({ 
    packages: { 
     app: { 
      format: 'register', 
      defaultExtension: 'js' 
     } 
    } 
}); 
System.import ('app/boot') 
    .then (null, console.error.bind(console)); 

나는 http://localhost/Default/app/boot을 발견하려고 디버거에서 볼 수있는 - "기본"일부 내 컨트롤러의 이름 (발생한 같은 문제가되고 내가 직접 자바 스크립트 참조에 슬래시를 포함하지 않았을 때). 나는 "app/boot"접두사에 "/ app/boot"와 같은 종류의 작업을 시도해 보았습니다. boot.ts는 찾았지만 의존성은 발견하지 못했습니다. 다시 말해 컨트롤러 이름을 URL에 추가했습니다. .

누구나 System.import 지시어에 대한 정보를 찾을 수있는 제안 사항이 있습니까?

감사합니다.

+0

'System.import' 호출은 SystemJS가 메인 파일을 가져 오도록 지시합니다. 귀하의 경우에는'boot.js'입니까? – AngJobs

답변

1

먼저, angular2의 세계로 뛰어 들어 주셔서 감사드립니다.

System.import는 SystemJS의 일부입니다. SystemJS는 앵귤러 2가 사용하는 모듈 로더로서 새로운 멋진 자바 스크립트 사양이 브라우저에 의해 완성되고 구현됩니다. System.import에 대한 자세한 내용은 참조하십시오

: https://github.com/systemjs/systemjs

나는 당신의 문제가 MVC 모듈을로드하려고 시도하지 않는 방법 SystemJs 정적 파일을 제공하는 방식으로 믿습니다.

routes.IgnoreRoute("app/{file}.js"); 

이 프로젝트의 루트에있는 응용 프로그램 폴더에있는 JS 파일을 무시하는 MVC를 말해야한다 : 당신의 RouteConfig.cs 파일에서 Using ASP.NET routing to serve static files

:

은이 문서를 참조하십시오. SystemJS는 모듈을 올바르게로드 할 수 있어야합니다.

+0

응답 해 주셔서 감사합니다. 나는 그것을 한 번 줄 것이고 당신에게 알려줄 것이다. – rexthestrange

+0

아, 참고 자료에 감사드립니다. 나는 그것들을 또한 검사 할 것이다. – rexthestrange

+0

아니요. 그것은 그렇게하지 않는 것 같습니다. 이 파일들은 누군가 GitHub에 균열이있는 데 관심이 있다면 https://github.com/widgetinc/Angular-2-MVC에서 GitHub에 있습니다. – rexthestrange