2016-10-18 7 views
1

Хорошо, поэтому я играю с машинописными текстами и надеялся использовать его для минимизации моего кода, но, как я понимаю, машинопись не делает этого. Так что я я построил свой Gruntfile, как это,TypScript & 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'); 
}; 

и то, что я пытался сделать, это получить машинопись, чтобы встроить в стандартные яваскрипте, а затем автоматический запуска в моих уродовать задачи.

Как бы то ни было, он работает, если я добавил/отредактировал любые файлы lib или plugin (поскольку они не имеют ничего общего с моим машинописным текстом), но когда я редактирую файлы типов, он будет создавать файлы JS, но не запускать угадать задачу?

Как я могу заставить его выполнить задачу uglify после завершения задачи ts?

Большое спасибо.

ответ

1

Я думаю, что у меня есть решение этой проблемы. Я добавил задачу TS моего JSFiles смотреть задачу и добавил машинописи файлов в список файлов, которые он должен следить за, например, так:

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

Теперь это может быть лучшим вариантом, так как это займет некоторое время для завершения машинописных и мини-задач. Но я поставил этот проект в Symfony2, и я предпочитаю настроить свой новый проект, указывая на продукт. файлы.

С благодарностью

 Смежные вопросы

  • Нет связанных вопросов^_^