gegeben, diese requirejs
config:Wie die CDN-URL vorangestellt Pfade in einem Build-Skript requirejs
require.config({
baseUrl: './js',
paths: {
'jquery': 'vendor/jquery',
'bootstrap': 'vendor/bootstrap',
'basicModel': 'app/models/basicModel',
'aboutModel': 'app/models/aboutModel',
'contactModel': 'app/models/contactModel',
'models': 'models',
'vendor': 'vendor'
},
shim: {
'bootstrap': ['jquery', 'models']
}
});
ich meine Automatisierungsskript möchte, dass ein Paket für die Produktion vorbereitet jeden der Werte innerhalb des paths
Objekt abzubilden wie die folgenden:
'jquery': [cdnUrl + 'vendor/jquery', 'vendor/jquery'],
wie Sie sehen können, ist die cdnUrl
eine tatsächliche Variable, die meinen CDN Endpunkt zur Laufzeit halten werden. Der Endpunkt kann nicht zur Erstellungszeit bestimmt werden, wenn dieses Skript ausgeführt werden soll.
Wie kann ich diese Art von Mapping machen?
EDIT:
Ich will nicht regex in diesem Fall verwenden, da meine wirkliche require.config.js
Datei aufgrund größer und komplizierter ist mehr andere Eigenschaften als paths
zu haben, die die gleiche Syntax haben.
Ich habe ein Skript, das die obige Konfiguration mit requirejs-config-file
npm-Paket analysiert und im Grunde macht dies zu einem echten Objekt. Ich kann einfach nicht herausfinden, ob das, was ich frage, in JavaScript-Code (nicht Textbearbeitung) möglich ist.
Sie wollen etwas wie 'Pfade ['jquery'] = [cdnUrl + Pfade ['jquery'], Pfade ['jquery']]'? –
ja. Wie kann dies erreicht werden? – johni
Der Titel zu dieser Frage ist wirklich unklar; Ich sehe nicht, was das mit variablen Namen und Werten oder Mapping zu tun hat. – Retsam