2014-02-20 3 views
1

r.js와 함께 require.js 기반 JavaScript를 컴파일하고 있습니다. 우리는 css 플러그인을 사용합니다. 내 생성 된 JavaScript 내 페이지를 실행하면r.js를 사용할 때 css.js를 찾을 수 없습니다

var requirejs = require('requirejs'); 
var sys = require("sys"); 
var prop = require("./node/config.js"); 
var extend = require('node.extend'); 

var baseNoC=prop.base.replace("C:/",""); 

window = { 
    top: { 
     M4_CONFIG: { 
      path: prop.base + "/uif/trunk" 
     } 
    } 
}; 


var amdConfig = require(prop.base + "/uif/trunk/scripts/bootstrap/amd-config"); 


var config = { 
    baseUrl: "C:", 
    name: "/"+baseNoC+"/uif/trunk/scripts/bootstrap/home-main.js", 
    out: "main-built.js", 
    optimize: "none", 
    map: { 
     '*': {    
      'css': baseNoC + "/vendor/trunk/require-plugins/require-css/0.0.3/css" 
     } 
    } 
}; 

config = extend(config, amdConfig); 
config.paths["all-files"]= window.top.M4_CONFIG.path + "/all-files"; 
//I tried it with this line in and out. 
//config.paths["css"]="Projects/mercury/vendor/trunk/require-plugins/require-css/0.0.3/css"; 



requirejs.optimize(config, function(buildResponse) { 
    //buildResponse is just a text output of the modules 
    //included. Load the built file for the contents. 
    //Use config.out to get the optimized file contents. 

    var contents = fs.readFileSync(config.out, 'utf8'); 
}, function(err) { 
    //optimization err callback 
    sys.puts("error! " + err); 
}); 

, 내가 얻을 : 여기 실행하고 내 build.js입니다 : -

은 "NetworkError 404 찾을 수 없음 [도메인] /css.js" 파일의 위치가 내 config.map에 지정된 위치에 있습니다. 어쨌든, 왜 컴파일 된 JavaScript에 없는지 이해할 수 없습니다. 어떻게해야합니까?

P. 우리는 Sass를 사용하고 있으며 Sass와 함께 하나의 큰 CSS를 포장하고! css를 무시하도록 말하면 신경 쓰지 않을 것입니다. (그러나 그 이유는 역사적인 이유 때문입니다.)

답변

1

문제점은 r.js 컴파일러의 버그로 map 구성을 무시합니다. 나는 같은 문제에 물린 것 뿐이었다. I'm working on getting it resolved.

+0

수정 방법에 대한 정보를 조금 더 제공 할 수 있습니까? r.js를 업데이트하려고 시도했지만 도움이되지 않은 것 같습니다. –

관련 문제