In Grunt ho usato un plugin chiamato env. Questo mi permetterebbe di definire un ambiente in build specifica. Ho avuto 3 build. Uno era DEV che usava tutti i file divisi individualmente. PROD concat tutto e RELEASE sarebbe concatenare e ugolare. Sto cercando di fare lo stesso a Gulp. Vedo un preprocessore per Gulp ma nulla per definire l'ambiente.Gulp Env e Preprocess
La domanda è. Cosa posso fare? Ovviamente non voglio definire tutti i file JS tutto il tempo, e non voglio 3 diverse pagine HTML con tag di script diversi.
Nel mio HTML avrei qualcosa di simile:
<!-- @if NODE_ENV == 'DEVELOPMENT' -->
<script src="js/example1.js" type="text/javascript"></script>
<script src="js/example2.js" type="text/javascript"></script>
<script src="js/example3.js" type="text/javascript"></script>
<!-- @endif -->
<!-- @if NODE_ENV == 'PRODUCTION' -->
<script src="js/project.js" type="text/javascript"></script>
<!-- @endif -->
<!-- @if NODE_ENV == 'RELEASE' -->
<script src="js/project.min.js" type="text/javascript"></script>
<!-- @endif -->
E i miei plugin grugnito sarebbe simile a questa:
env: {
dev: {
NODE_ENV: 'DEVELOPMENT'
},
prod: {
NODE_ENV: 'PRODUCTION'
},
release: {
NODE_ENV: 'RELEASE'
}
},
preprocess: {
options: {
context: {
name: '<%= pkg.outputName %>',
version: '<%= pkg.version %>',
port: '<%= pkg.port %>'
}
},
dev: {
src: 'index.html',
dest: '<%= pkg.outputFolder %>/index.html'
},
prod: {
src: 'index.html',
dest: '<%= pkg.outputFolder %>/index.html'
},
release: {
src: 'index.html',
dest: '<%= pkg.outputFolder %>/index.html'
}
},
Grazie al plugin gulp-dati, questo è stato semplificato notevolmente. – user1167442