Frage

I am compiling my require.js based JavaScript together with r.js. We use the css plugin. Here is my build.js that I am running:

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);
});

When I run my page with my generated JavaScript, I get "NetworkError: 404 Not Found - [domain]/css.js"

The location of the file is in the location specified on my config.map. Anyway, I don't understand why it isn't in my compiled JavaScript. What should I do?

P.S. We're using Sass and I wouldn't mind just packaging up one big css with Sass and telling it to ignore the !css in the code. (However, those are in there for historical reasons.)

War es hilfreich?

Lösung

The issue is a bug in the r.js compiler, where it is ignoring the map config. I was just bitten by the same issue. I'm working on getting it resolved.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top