나는 this answer (감사의 에드)을 따르고 있었고 그는 그 문제를 완전히 해결하지 못했다.GWT Super Dev Mode/SuperDevMode에서 HTML 파일을 포함하도록하려면 어떻게해야합니까?
SuperDevMode/CodeServer가 설치되어 실행 중이지만 HTML 파일이 포함되어 있지 않으므로 쓸모가 없습니다. 실제로 2 개의 웹 서버를 실행해야합니까?
나는 그다지 중요하지 않다면 Gradle을 사용하고 있습니다.
나는 this answer (감사의 에드)을 따르고 있었고 그는 그 문제를 완전히 해결하지 못했다.GWT Super Dev Mode/SuperDevMode에서 HTML 파일을 포함하도록하려면 어떻게해야합니까?
SuperDevMode/CodeServer가 설치되어 실행 중이지만 HTML 파일이 포함되어 있지 않으므로 쓸모가 없습니다. 실제로 2 개의 웹 서버를 실행해야합니까?
나는 그다지 중요하지 않다면 Gradle을 사용하고 있습니다.
다음은 내가 생각해 낸 대답입니다. 내 HTML 파일에서 내 * .nocache.js을로드하는 스크립트를 제거하고 대신 같은, 동적으로 생성 :
<script type="text/javascript">
function loadScript(scriptSrc)
{
var scriptTag = document.createElement('script');
scriptTag.type = 'text/javascript';
scriptTag.async = true;
scriptTag.src = scriptSrc;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(scriptTag, s);
}
// Load the GWT script
loadScript(('file:' == document.location.protocol ? "http://localhost:9876/" : "") + "admin/admin.nocache.js");
</script>
코드 서버를 실행하기위한
내 Gradle을 작업은 다음과 같습니다
task codeServer(dependsOn: "war") << {
println("*----------------------------------------------------------------------------------------------*")
println(" Ignore what this says below about going to http://localhost:9876/")
println(" Instead, once the server below is up, in a separate command line, type:")
println(" start $buildDir\\exploded\\Admin.html")
println("*----------------------------------------------------------------------------------------------*")
def gwtTempDir = "$buildDir/gwtTemp"
(new File(gwtTempDir)).mkdirs()
ant.java(classname: "com.google.gwt.dev.codeserver.CodeServer", failonerror: "true", fork: "true") {
classpath {
pathElement(location: "src/main/java")
pathElement(location: "src/main/resources")
pathElement(location: "$buildDir/classes/main")
pathElement(path: configurations.compile.asPath)
}
jvmarg(value: "-Xmx512m")
sysproperty(key: "java.util.logging.SimpleFormatter.format", value: System.getProperty("java.util.logging.SimpleFormatter.format"));
arg(line: "-workDir " + gwtTempDir)
arg(line: "-src " + "src/main/java")
arg(value: "com.onlyinsight.oventio.Admin")
}
}
이제 두 번째 웹 서버 대신 브라우저에서 file : /// F : /projects/ConferenceModule/build/exploded/Admin.html을 가리키면 모든 것이 작동합니다.
나는 다른 사람을 돕기를 바랍니다. 지금의 당신이 어떤 서버 측이 없을 경우
, 당신은 단순히 public path에 대신 전쟁 폴더 내에서 HTML 호스트 페이지를 넣을 수 있습니다, 그것은 다음의 SuperDevMode CodeServer에 의해 제공됩니다 모듈의 일부. <script>
을 조정하는 것을 잊지 마십시오 : *.nocache.js
은 페이지의 형제가 될 것입니다.
굉장한 제안. 나는 그걸 생각하지 않았다. 사실, 나머지 서버 측 항목 (이미지, HTML)도 public 경로에 넣을 수 있으며 코드 서버가 훨씬 잘 작동합니다. 나는 약 4 시간 동안 놀고 나니 실제로이 프로젝트를 포기했다. 나는 슈퍼 데브 모드가 아직 시기상조이다. 내 모듈을 컴파일하는 데 23 초가 걸렸습니다. 각 코드가 변경 될 때까지 기다려야합니다. 그것은 현재의 5-10 초 사이에 dev 모드가 거래를 죽일 때까지 기다릴만큼 충분히 북쪽입니다. –
에 의해 _anything server-side_, 나는 _code_에 대해 얘기하고 있었다 : 이미지가 _ 서버 측 _ 무언가가 아니다. SuperDevMode 퍼포먼스에 관해서는 실제로 개선의 여지가 있습니다. 발전기는 점진적으로 실행 (매번 재생성하는 것이 아니라 결과를 캐싱)을 지원해야하며, 현재 RPC 및 ClientBundle만이 : UiBinder가 아니라 Editor, RequestFactory 등입니다 그 중 컴파일 속도가 느려집니다. 이후 릴리스에서 더 나은 성능을 기대하십시오. SuperDevMode가 _experimental_으로 레이블 된 이유가 있습니다 ;-) –