Ich kann nicht bundles
in der optimierten Build arbeiten, ich versuche, einige externe vorkonfektionierte Bundle (nicht in der erforderlichen Build-Prozess-Ausgabe enthalten) zu laden.requirejs und vorgefertigte Bundles
In requirejs.config
:
paths: {
'mymodules': '../lib/test-bundle/test-bundle'
},
bundles: {
'mymodules': ['mymodule1', 'mymodule2']
}
test-bundle
Gehalt:
console.log("defining modules...");
define('mymodule1', ['jquery'], function($) {
console.log('within mymodule1', $.fn.jquery);
return {
test: 'module1'
};
});
define('mymodule2', ['jquery'], function($) {
console.log('within mymodule2', $.fn.jquery);
return {
test: 'module2'
};
});
Im build Configpaths
für mymodules
, mymodule1
und mymodule2
zu empty:
gesetzt sind (oder den Erstellungsprozess fehlschlägt), Ich verwende nicht die modules
Option in der Build-Konfiguration zum Generieren von Bündeln.
Wenn ich die Quellen verwende, wie sie sind, funktioniert alles gut, wie erwartet.
in der gebauten Version (aber nicht optimiert) test-bundle
geladen und "defining modules"
gedruckt, dann Timeout Laden mymodule2
:
Error: Failed to load root module (viewmodels/shell). Details: Load timeout for modules: mymodule2(…)
Uncaught Error: Failed to load root module (viewmodels/shell). Details: Load timeout for modules: mymodule2
http://requirejs.org/docs/errors.html#timeout
im eingebauten und optimierte Version gibt es einen weiteren Fehler:
Uncaught ReferenceError: define is not defined
wie wenn test-bundle
geladen wird vor requirejs
implementieren define()
.
Was ich vermisse oder falsch mache?
bearbeiten
Ich habe einen Zweig mit dem Test oben zu installieren und bauen
git clone https://github.com/xenogenesi/HTMLStarterKitPro
cd HTMLStarterKitPro
git checkout test-bundle
# nodejs npm required on the system (maybe grunt-cli)
npm install # required only once to install node modules
grunt build-only # create a build/ directory and the content
php -S localhost:8888 # to publish the sources as they are
# browse to http://localhost:8888
php -S localhost:7777 -t build # to publish the built versions
# browse to http://localhost:7777 for built but not optimized
# browse to http://localhost:7777/index2.html for built optimized
(siehe this commit für alle Dateien (nodejs
npm
und wahrscheinlich grunt-cli
werden auf dem System erforderlich) erstellt modifiziert, um das Test-Bündel hinzuzufügen)
Ein [MCVE] wäre hilfreich. Welche Version von RequireJS benutzt du? Neuere Versionen beheben Fehler in den älteren Versionen. – Louis
@Louis, die Bereitstellung eines minimalen Beispiel würde erfordern einen Zeitaufwand und die Umgebung wäre nicht die gleiche, also, sehen Sie bitte das Update, wenn Sie wissen, wie Knoten installieren, Npm, Grunt-CLI sollte schnell und einfach sein. RequireJS Version ist 2.2.0 – Alex