2013-01-25 4 views
2

내 프로젝트는 requirejs에 텍스트 플러그인을 사용하며, 플러그인이 제대로 작동하지만 최적화 프로그램은 작동하지 않습니다. 내 응용 프로그램 파일이 테스트는 :RequireJS 텍스트 플러그인 최적화가 오류를 발생시킵니다.

define([ 
    'jquery', 
    'underscore', 
    //'ui/js/form/LoginForm' 
    'text!core/ui/text/form/LoginForm.txt' 
], function($, _, template) { 
    var initialize = function() { 

    } 

    return { 
     initialize : initialize 
    }; 
}); 

이 구성입니다 :

require.config({ 
    paths : { 
     jquery  : 'lib/jquery/jquery', 
     underscore : 'lib/underscore/underscore', 
     text  : 'lib/require/text' 
    }, 
    shim: { 
     underscore: { 
      exports: '_' 
     } 
    } 
}); 

require([ 
    'app', 
], function(App) { 
    App.initialize(); 
}); 

그리고이 빌드 구성입니다 :

({ 
    baseUrl: '../scripts', 
    mainConfigFile: '../scripts/main.js', 
    name: '../scripts/main', 
    out: '../scripts/concatenated-modules.js', 
    optimize: 'none', 
    optimizeAllPluginResources: true 
}) 

내가 아는 의심 할 여지없이 그 경로에 프로젝트 자체가 올바르게 작동하므로 프로젝트가 정확합니다. 그러나 나는이 얻을 구축 할 때 :

C:\wamp\www\build>java -classpath js.jar org.mozilla.javascript.too 
ls.shell.Main r.js -o build.js 

Tracing dependencies for: ../scripts/main 
InternalError: The choice of Java constructor append matching JavaScript argumen 
t types (null) is ambiguous; candidate constructors are: 
    class java.lang.AbstractStringBuilder append(java.lang.StringBuffer) 
    class java.lang.AbstractStringBuilder append(java.lang.String) 
    class java.lang.AbstractStringBuilder append(java.lang.Object) 
    class java.lang.AbstractStringBuilder append(java.lang.CharSequence) 
    class java.lang.AbstractStringBuilder append(char[]) (r.js#21883(eval)#307) 
In module tree: 
    ../scripts/main 
     app 
     text 

InternalError: The choice of Java constructor append matching JavaScript argumen 
t types (null) is ambiguous; candidate constructors are: 
    class java.lang.AbstractStringBuilder append(java.lang.StringBuffer) 
    class java.lang.AbstractStringBuilder append(java.lang.String) 
    class java.lang.AbstractStringBuilder append(java.lang.Object) 
    class java.lang.AbstractStringBuilder append(java.lang.CharSequence) 
    class java.lang.AbstractStringBuilder append(char[]) (r.js#21883(eval)#307) 
In module tree: 
    ../scripts/main 
     app 
     text 

내 생각은 최적화 프로그램이 'text!core/ui/text/form/LoginForm.txt' 텍스트 의존성이 플러그인을 사용하는 것을 깨닫게 할 수 없습니다 것입니다.

필자가 원했던 것은 인라인 리소스 였고, 자습서를 따라 편지에 올렸으며 모든 라이브러리의 모든 최신 버전을 보유하고 있습니다.

+0

웃음을 위해서 prunejs.com과 같은 다른 도구를 사용해보십시오 – ddotsenko

답변

2

Rhino 도구가 텍스트를 이해하는 데 문제가있는 것 같습니다. r.js로 컴파일 할 때 플러그인.

노드로 전환하면 모든 것이 완벽하게 작동합니다.

같은 문제가 발생할 수있는 사람들은 nodejs 웹 사이트로 이동하여 Windows 설치 프로그램 (Windows를 사용하고 있습니다)을 다운로드하십시오. 일단 컴퓨터를 다시 설치하면 requirejs 웹 사이트에 설명 된대로 node r.js -o app.build.js을 사용할 수 있습니다.

0

텍스트 플러그인 인 Rihno에는 문제가 있습니다. 'core/ui/text/form/LoginForm.txt'파일을 비워서는 안됩니다. 해당 텍스트 파일 내에 문자열을 추가하면 실행됩니다. Rhino에서 텍스트 플러그인을 사용하는 동안 빈 텍스트가 "null"로 표시됩니다

관련 문제