Ich möchte meine endgültige Lösung mit euch teilen.
I JSHTML für Express verwenden (enter link description here)
In meinem Hauptknoten Datei verwende ich eine spezielle Route:
app.get('/**:type(html)', function (req, res, next) {
var renderingUrl = req.url.substring(1, req.url.lastIndexOf("."));
//TODO: Find a better solution
try{
var assetUrl = req.url.substring(req.url.lastIndexOf("/") + 1, req.url.lastIndexOf("."));
var assets = config.getResourceBundle(assetUrl);
assets.production = config.getEnviroment() === "production";
res.locals(assets);
res.render(renderingUrl);
}catch(e){
res.redirect("/");
}
});
Wie Sie sehen können, habe ich mein Vermögen von config.getResourceBundle bekommen.Dies ist eine einfach Funktion:
exports.getResourceBundle = function(identifier){
switch(enviroment){
case "development":
return devConfig.getResourceBundle(identifier);
case "production":
return prodConfig.getResourceBundle(identifier);
default:
return devConfig.getResourceBundle(identifier);
}
}
Und schließlich ein Beispiel für eine Dateisammlung Vermögenswert ist hier:
exports.getResourceBundle = function (identifier) {
return resourceBundle[identifier];
};
resourceBundle = {
index:{
cssFiles:[
"resources/dev/css/login.css",
"resources/dev/css/logonDlg.css",
"resources/dev/css/footer.css"
],
jsFiles:[
"resources/dev/js/lib/jquery/jquery.183.js",
"resources/dev/js/utilities.js",
"resources/dev/js/lib/crypto.3.1.2.js"
]
},
register:{
cssFiles:[
"resources/dev/css/login.css",
"resources/dev/css/modalDialog.css",
"resources/dev/css/footer.css"
],
jsFiles:[
"resources/dev/js/lib/jquery/jquery.183.js",
"resources/dev/js/utilities.js",
"resources/dev/js/lib/crypto.3.1.2.js",
"resources/dev/js/lib/jquery.simplemodal.js",
"resources/dev/js/xfiles.register.js"
]
}
(...)
Ich habe 2 Ordner. Entwickler/Hersteller Grunt kopiert die verkleinerten Dateien in prod/.. und löscht die Dateien von dev/... Und wenn die Variable NODE_ENV auf production gesetzt ist, werde ich die verkleinerten Versionen meiner Skripte/css versenden. Ich denke, das ist die eleganteste Lösung im Moment.
Danke, das sieht vielversprechend aus .. – Christian
Gern geschehen :-)! –