使用uglify将JavaScript打印到JavaScript

我在TS目录下有4个TypeScript文件。 我可以使用typescript typescript:base任务将它们全部编译成一个文件(main.js)和一个源映射(main.js.map)。

但是,在编译多个 TypeScript文件时,尝试uglify这些文件不起作用。 就好像sourceMapInsourceMapIn被多个文件创build的时候感到困惑。

你将如何编译一个带有多个文件的TypeScript项目到一个带有sourcemap的文件中(回到原来的ts文件)

这是咕噜声文件:

 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']); }; 

谢谢!

我试图用以下的环境重现你的问题:

 grunt: 0.4.1 grunt-contrib-uglify: 0.2.2 grunt-typescript: 0.2.4 nodejs: 0.10.15 

我不得不将uglify.dist.options.sourceMapIn更改为'../js/main.js.map'uglify.dist.files['../js/main.min.js']['../js/main.js'] ,即使path相对于gruntfile位置。 之后,编译工作完美无瑕, ../js/main.min.js / ../js/main.min.map ../js/main.min.js../js/main.min.map看起来都是正确的。