2016-10-18 5 views
1

私はtypescriptで遊んでいますので、コードを小さくするために使いたいと思っていましたが、私が理解しているように、typescriptはそれをしません。だから私私はこのような私のGruntfile、Typescript&Uglify Tasks

module.exports = function(grunt) { 
    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 

    ts: { 
     default: { 
      files: { 
       '/js/builds/admin.js': ['/typescript/admin/*.ts'], 
       '/js/builds/main.js': ['/typescript/main/*.ts'], 
       '/js/builds/public.js': ['/typescript/public/*.ts'] 
      } 
     }, 
     options: { 
      fast: 'never', 
      sourceMap: false 
     }, 
    }, 

    'uglify': { 
     options: { 
      preserveComments: 'some', 
     }, 
     my_target: { 
      files: { 
       //Libs Files 
       '/assets/js/libs.js': [ 
        '/js/libs/jquery-3.1.1.min.js', 
        '/js/libs/underscore-1.8.3.min.js', 
        '/js/libs/backbone-1.3.3.min.js', 
       ], 

       //Plugin Files 
       '/assets/js/plugins.js': [ 
        '/js/plugins/alertify.min.js', 
       ], 

       //Admin Build 
       '/assets/js/our_admin.js': [ 
        '/js/builds/admin.js' 
       ], 

       //Main Build 
       '/assets/js/main.js': [ 
        '/js/builds/main.js' 
       ], 

       //Public Build 
       '/assets/js/public.js': [ 
        '/js/builds/public.js' 
       ] 
      } 
     } 
    }, 

    watch: { 
     'TypeFiles': { 
      files: ['/typescript/**/*.ts'], 
      tasks: ['ts'], 
      options: { 
       spawn: false 
      }, 
     }, 

     'JSFiles': { 
      files: ['/js/**/*.js'], 
      tasks: ['uglify'], 
      options: { 
       spawn: false, 
      }, 
     }, 
    } 

}); 

    grunt.loadNpmTasks("grunt-ts"); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
}; 

を構築し、私は何をしようとしていた標準のJavaScript、その後、自動実行私のuglifyタスクに構築するためのtypescriptですを取得しました。

libやpluginファイルを追加/編集すると(typescriptとは関係ないので)動作しますが、typescriptファイルを編集すると、JSファイルがビルドされますが、実行されません。 uglifyタスク?

tsタスクが完了した後にuglifyタスクを実行するにはどうすればよいですか?

多くのありがとうございます。

答えて

1

私はこの問題の解決策があると思います。それはいくつかの時間がかかるだろうとして、最良の選択肢であることを

'JSFiles': { 
     files: ['/js/**/*.js', '/typescript/**/*.ts'], 
     tasks: ['ts', 'uglify'], 
     options: { 
       spawn: false, 
     }, 
    }, 

今これは可能性があります:私はそれはそうのように、ために注意すべきファイルのリストに写し(typescript)ファイルをタスクを見て、私のJSFilesにTSタスクを追加して、コメントを追加しましたtypescriptおよびminifyタスクを完了します。しかし、私はSymfony2でこのプロジェクトを立ち上げました。私は、このプロダクトを指し示す私の新しいプロジェクトをセットアップすることを好みます。ファイル。

ありがとうございました

関連する問題