2013-06-18 4 views
2

내가 메이븐 같은 구조로 다트의 통합을 테스트하기 위해 GitHub의에 약간의 샘플을 만든 것 같다메이븐 같은 구조는 불가능

https://github.com/MikeMitterer/dart-WebUIDifferentViews

내가 무슨 짓을 :

  • out-Folder에 대한 옵션을 찾을 수 없어 빌드 스크립트가 꺼졌습니다. 지금까지 작동하지만 나는 손으로 webapppackages 폴더를 생성했다 -

    dart --package-root=packages/ packages/web_ui/dwc.dart --out \ 
        src/main/webapp/src/main/dart/app.html 
    
  • OK : 그래서 나는 명령 행에서 src/main/webapp 폴더를 생성합니다. (ln -s ../../../packages).

  • 에있는 일부 href 링크가 잘못되었습니다. 예 :

    <link rel="stylesheet" href="../dart/assets/app.css"> 
    

    ../assets/app.css이어야합니다.

  • 다음으로 나는 모든 것을 디버깅하려고했습니다.

디버거가 올바른 원본 디렉터리를 찾을 수 없어서 실패했습니다.

모든 솔루션?

+4

Dart 앱에 Maven 구조를 사용하지 않는 것이 좋습니다. . 보시다시피이 도구는이를 쉽게 수용하도록 설계되지 않았습니다.더 중요한 것은 툴링 문제를 파악하더라도 다트 규칙을 따르지 않아 코드를 보는 다른 사람들이 혼란 스러울 것입니다. 대신 http://pub.dartlang.org/doc/package-layout.html을 사용하십시오. –

+2

다트는 우주에 살고 있지 않다는 것이 문제입니다. 메이븐 (Maven) 관례에 따라 많은 웹 애플리케이션이 있으며, 다트 (Dart)를 이러한 구조에 쉽게 통합 할 수 있어야합니다. 나는 다트를 좋아하지만이 시점에서 나는 정말로 실망합니다. 어쨌든 - 귀하의 의견에 감사드립니다. –

+0

디버거 문제를 해결하지 못할 수도 있지만,'pub deploy' 명령은 다양한 상대 URL을 도울 수 있습니다. 이 게시물을 참조하십시오 : https://plus.google.com/+SethLadd/posts/VQEJskKoq4h –

답변

2

다트 용 메이븐 플러그인이 있습니다. 마지막으로 Maven을 Dart와 함께 사용 했으므로 출력 디렉토리를 지정할 수있는 기능과 같이 더 많은 유연성이 pub에 추가되었습니다. 이 변경으로 Mavin 플러그인이 Dart와 더 잘 작동합니다.

다음은 플러그인 페이지에 대한 링크입니다. 플러그인은 Maven 중앙 저장소에있어 편리하게 사용할 수 있습니다.

https://github.com/dart-maven-plugin/dart-maven-plugin

당신이 구축 메이븐을 사용하려면 http://mvnrepository.com/artifact/com.github.dzwicker.dart/dart-maven-plugin/다트를 배포, 당신은해야한다! 두 가지에 대한 지식이 증가합니다. Maven은 모든 인기있는 버전 제어 시스템과 함께 작동하는 산업 강도 구축 시스템이기 때문에 유효한 접근 방식입니다. 또한 원격 서버에 Dart 앱을 배포하기위한 플러그인이 있습니다.

디버깅을 돕는 데는 IDE가 관련되어있는 것 같습니다. Dart pub에는 파일의 문제 링크 경로를 수정하는 데 사용할 수있는 "변환기"가 있습니다. Intellij 내에서 Dart 디버깅이 가능하다는보고를 보았습니다.

https://www.dartlang.org/tools/pub/assets-and-transformers.html

다트

은 큰 약속과 함께 재미있는 언어입니다. 그러나 그것은 새롭고 풍부한 개발 도구 생태계를 아직 가지고 있지 않습니다. 나는 다트 코드를 자바 스크립트로 변환하고 의존성을 관리하기 위해 술집을 사용하지만, 내장 된 앱을 배포하는 데는 사용하지 않습니다. 지금 (Dart 1.5.8)에서 Dart를 비 취미로 사용하려면 Maven, Gradle 또는 Ant와 같은 성숙한 빌드 도구가 필요할 것입니다.