2016-07-08 9 views
0

전 turbogears를 사용 해본 적이 없지만 내가 대기하고있는 회사는 turbogears를 사용하여 JS 파일을 실행합니다. 내 새 JS 코드를 파일에 통합하려고하지만 스크립트를 호출하는 반복 된 오류로 실행하고 누군가가이 문제를 경험했는지 궁금합니다.요구 사항 JS와 Turbogears 통합

코드는 지금까지

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:py="http://genshi.edgewall.org/" 
     xmlns:xi="http://www.w3.org/2001/XInclude"> 

    <xi:include href="master.html" /> 
    <xi:include href="antibody/sequences.html" /> 
    <xi:include href="antibody/display_humanize.html" /> 
    <xi:include href="antibody/display_align.html" /> 
    <xi:include href="antibody/displayseqalign.html" /> 
    <xi:include href="workspaces/model_fasta.html" /> 
    <xi:include href="workspaces/model_pdb.html" /> 
    <xi:include href="workspaces/model_humanize.html" /> 
    <xi:include href="workspaces/design_helpers.html" /> 

    <head> 
    <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/> 
    <title>Macromoltek | Online Modeling Workspace</title> 
    <meta name="description" content="Online modeling workspace" /> 
    <meta name="keywords" content="Macromoltek, Antibody, Analysis, Modeling, Online Modeling, Antibody Analysis, Bioinformatics, SmrtMolAntibody, Scientific Software, Master, online, modeling, workspace" /> 
    <link rel="stylesheet" type="text/css" media="screen" href="${tg.url('/css/align.css')}" /> 
    <link rel="stylesheet" type="text/css" media="screen" href="${tg.url('/css/align_num.css')}" /> 
    <link rel="stylesheet" type="text/css" media="screen" href="${tg.url('/css/workspace.css')}" /> 
    <link rel="stylesheet" type="text/css" media="screen" href="${tg.url('/css/annotate.css')}" /> 
    <link rel="stylesheet" href="${tg.url('/css/pictos.css')}" type="text/css" charset="utf-8" /> 
    <script type="text/javascript" src="${tg.url('/javascript/canvas.js')}"></script> 
    <script type="text/javascript" src="${tg.url('/javascript/numbering.js')}"></script> 
    <script type="text/javascript" src="${tg.url('/javascript/fasta.js')}"></script> 
    <script type="text/javascript" src="${tg.url('/javascript/align.js')}"></script> 
    <script type="text/javascript" src="${tg.url('/javascript/design.js')}"></script> 
    <script type="text/javascript" src="${tg.url('/pv/js/modernizr-2.8.3.min.js')}"></script> 
    <script type="text/javascript" src="${tg.url('/pv/js/jquery-2.0.2.min.js')}"></script> 
    <script type="text/javascript" src="${tg.url('/pv/js/foundation-5.4.7.min.js')}"></script> 
    <script type="text/javascript" data-main="${tg.url('/pv/demo.js')}" src="${tg.url('/pv/js/require.js')}"></script> 

    <script type="text/javascript"> 

그래서 나는 그것이 $ (tg.url()) 명령으로 요구 JS 파일을 찾습니다 알고 있지만 나는 태양 광 발전 디렉토리에 다른 JS 파일을 호출 그것으로 문제가 발생하고 . 빨간색 GET을 얻고 내 콘솔에서 리소스를로드하지 못했습니다.

아이디어 (끔찍한 일)

나는 약 20 파일이 있기 때문에 솔직히 시간이 좀 걸릴 것 turgogears 명령을 사용하여 HTML 파일에서 각 스크립트 호출하는 경우. 그것은 너무 깨끗한 것처럼 보이지 않을 것입니다.

질문

모든 파일에서 해당 명령을 실행하거나 내가 전에 한 것과 다른 require.js와 함께 작동 할 수있는 방법이 있습니까?

UPDATE

이봐 그래서에서 필요로 JS 우리는 명령을 잘 최초의 src 파일의 모든 JS 파일을로드하는 HTML 페이지를 말할

requirejs.config({ 
    'baseUrl': 'src', 
}); 

있습니다. 하지만 파일을 가져 오기 위해 HTML 페이지에서 turbogears를 실행해야한다면 어떻게해야할까요?

${tg.url('/pv/src')} 

의 명령을 복사하여 붙여 넣으려고했으나 제대로 작동하지 않았습니다. 어떤 제안입니까 ?

답변

1

tg.url은 URL 문자열을 반환하기 때문에 일반적으로 /py/demo.js${tg.url('/pv/demo.js')}을 쓰는 데 차이가 없습니다. 당신을 위해 무엇을 할 것 인 tg.url

이 경우 응용 프로그램은 서브 패스에서 실행되고 있지만, gearbox를 통해 로컬로 개발할 때 또는 가상 호스트의 루트에 배포 할 때 당신은 어떤 차이를 느낄 안 SCRIPT_NAME을 보상하는 것입니다 생성 된 URL.

문제를 더 잘 표현할 수 있습니까? 더

+0

나는 그냥 requireJS이 감사에 base을에 문제가 있음을 발견 (http://requirejs.org/docs/api.html#config-baseUrl 참조) turbogears 자체는 requirejsbaseUrl을 설정해야 할 수도 있습니다보다는 requirejs과 관련이있을 수있는 날 것으로 보인다 당신. 내 문제를 업데이트 할거야! –