J'essaie de concaténer tous mes modules requis et quelques modèles de texte en un seul main.min.js concaténé et uglifié, afin que je puisse inclure ce fichier dans mon HTML.
J'ai compris la concaténation et la partie uglifiante. Cependant, je ne suis pas en mesure d'exécuter un code dans le navigateur.
J'ai créé un projet bare-bone sur github pour reproduire le problème.
Structure du fichier :
- main.js
- index.html
- log.js
- construction-production
- lib/require.js
- node_modules/require/bin/r.js
Je concatène main.js, log.js et require.js en utilisant le fichier de construction build-production :
./node_modules/requirejs/bin/r.js -o build-production.js
main.js
require.config({
paths: {
requireLib : 'lib/require/require'
},
waitSeconds: 1000
});
console.log('loading main.js');
define(function(require) {
var log = require('log');
console.log('loaded')
log.fine('main loaded');
});
build-production.js :
({
mainConfigFile : 'main.js',
include : [ 'requireLib' ],
name : 'main.js',
out : 'main.min.js' })
index.html :
<script src="main.min.js" type="text/javascript"></script>
Ainsi, le fichier index.html d'un navigateur devrait s'afficher comme suit
chargement de main.js
l chargé principal
mais il n'imprime que la première ligne
chargement de main.js
quelqu'un sait-il pourquoi il en est ainsi ?