node.js - plugin - Grund un TypeScript a JavaScript con uglify
uglifyjs example (1)
Traté de reproducir tu problema con el siguiente entorno:
grunt: 0.4.1
grunt-contrib-uglify: 0.2.2
grunt-typescript: 0.2.4
nodejs: 0.10.15
Tuve que cambiar uglify.dist.options.sourceMapIn
a ''../js/main.js.map''
y uglify.dist.files[''../js/main.min.js'']
a [''../js/main.js'']
, es decir, [''../js/main.js'']
las rutas relativas a la ubicación del archivo gruff. Después, la compilación funcionó perfectamente y tanto ../js/main.min.js
como ../js/main.min.map
parecían correctos.
Tengo 4 archivos de TypeScript en el directorio ts . Puedo compilarlos todos en un archivo (main.js) con un mapa fuente (main.js.map) usando la tarea typescript:base
.
Sin embargo, tratar de uglify
esos archivos no funciona cuando se compila más de un archivo TypeScript. Es como si uglify
se confundiera cuando sourceMapIn
se hizo con más de un archivo.
¿Cómo compilaría un proyecto de TypeScript con más de un archivo, en un archivo con un mapa de origen? (Volver a los archivos originales de ts)
Aquí está el archivo gruñido:
module.exports = function (grunt) {
grunt.initConfig({
uglify: {
dist: {
options: {
sourceMap: ''../js/main.min.map'',
sourceMapIn: ''main.js.map'',
sourceMapRoot: ''../ts/''
},
files: {
''../js/main.min.js'': [''main.js'']
}
}
},
typescript: {
base: {
src: [''**/*.ts''],
dest: ''../js/main.js'',
options: {
module: ''amd'',
sourcemap: true,
declaration: false
}
}
}
});
grunt.loadNpmTasks(''grunt-contrib-uglify'');
grunt.loadNpmTasks(''grunt-typescript'');
grunt.file.setBase(''../ts'');
grunt.registerTask(''default'', [''typescript:base'', ''uglify:dist'']);
};
¡Gracias!