javascript - remove - underscore merge
Acceso al proceso/entorno desde una plantilla de gruñido (2)
Esa es una gran respuesta directa de Sindre. Alternativamente, puede hacerlo (use el complemento grunt-env: https://npmjs.org/package/grunt-env ) -
grunt.initConfig({
env : {
test : {
DEST : ''testDEST''
},
dev : {
DEST : ''devDEST''
},
qa : {
DEST : ''qaDEST''
},
prod : {
DEST : ''prodDEST''
}
}
});
grunt.registerTask(''setenvs'', ''Set environment variables'', function() {
grunt.config(''ENVS'', process.env);
});
y luego usar
{
dest: ''<%= ENVS.DEST %>/index.html''
}
Tu tarea sería -
grunt.registerTask(''default'', [
''env:dev'',
''setenvs''
''yourTask''
]);
Propuesta de enfoque alternativo solo para que pueda usar <%= ... %>
y no tenga que codificarlo en initConfig. Destino para env que puede tomar como entrada del usuario y pasarlo a env.
Tengo algo de código en un archivo grunt.js que está trabajando con 0.3 pero rompe en 0.4:
{
dest: ''<%= process.env.DEST %>/index.html''
}
El proceso 0.3 está definido y, por lo tanto, puedo acceder a las variables definidas en el entorno dentro de la plantilla cuando, por ejemplo, estoy pasando rutas de archivo a otros complementos.
¿Hay un enfoque alternativo a esto que funcionará en 0.4? ¿O una forma de colocar un punto de interrupción mientras la plantilla se está procesando para que pueda ver qué variables están disponibles?
Los datos por defecto es el objeto de configuración . Puede agregar la variable de entorno al objeto de configuración o simplemente usarla directamente.
grunt.initConfig({
destination: process.env.DEST,
task: {
target: {
dest: ''<%= destination %>/index.html''
}
},
});
o
grunt.initConfig({
task: {
target: {
dest: process.env.DEST + ''/index.html''
}
},
});