2014-03-04 2 views
6

저는 Grunt.js에 새입니다. 지금까지Browserify By Grunt.js 시계

, 나는 모든 파일 변경 - 저장에

browserify ./js/app.js -o ./js/app.bundle.js

을 실행하고있다.

이제 Grunt (0.4.2) 시계로이 프로세스를 자동화하려고합니다.

올바른 방법은 무엇입니까? 감사.

+0

명확히하기 위해 : grunt를 사용하여 grunt watch 작업에서 같은 브라우저 화 컴파일을 실행 하시겠습니까? Gruntfile.js에 이미 작성된 것이 있으면 템플릿으로 공유 할 수 있다면 도움이됩니다. – jsalonen

+0

감사합니다. 아직 Gruntfile.js 파일이 없습니다. 방금 샘플 템플릿을 보았습니다. 파일 저장에 대한 브라우저 화를 자동화하는 방법을 알려 주시면 감사하겠습니다. –

답변

10

나는 소스 파일이 바뀔 때 grunt-browserify을 통해 browserify 빌드를 실행하는 grunt-contrib-watch으로 감시 작업을 설정하려고합니다.

행동에 넣어, 여기 샘플 Gruntfile.js입니다 : 이제

module.exports = function(grunt) { 
    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 
    watch: { 
     files: ['app/app.js'], 
     tasks: ['browserify'] 
    }, 
    browserify: { 
     dist: { 
     files: { 
      'app/app.bundle.js': ['app/app.js'], 
     } 
     } 
    } 
    }); 

    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-browserify'); 
}; 

그냥 호출하여 변경을 감시하는 데 사용할 수 있습니다 : 당신이 필요

grunt watch 

grunt-contrib-watchgrunt-browserify과 함께 꿀꺽 꿀꺽 마시십시오.


또는 Grunt 대신 Grunt를 사용할 수도 있습니다. gulp-browserify과 함께 gulp-watch을 사용하면 유사한 결과를 얻을 수 있으며 자세한 빌드 파일은 적고 성능은 약간 향상 될 수 있습니다.

+0

감사합니다. 사실, 이걸 확인해 봤어. 내가주의해야한다고 생각했던 한가지는 9 개월 전의 마지막 업데이트이며,'dependncy out of date '를 인쇄했다는 것입니다. 이 방법은 최신 그랑트 (0.4.2)와 호환 가능합니까? –

+0

당신은 grunt-watchify가 다소 오래되었다는 사실에 아마 맞을 것입니다. 'grunt-blog-watch'와 함께'grunt-contrib-watch'는 어떻습니까? 아마도 같은 결과를 얻기 위해 함께 사용할 수 있습니다. – jsalonen

+0

감사합니다. 나는 또한'grunt-browserify'를 체크했고'grunt-contrib-watch'와 함께 사용할 것입니다. 이 질문에 'Gruntfile.js'를 쓰는 방법에 대한 나의 동기 중 하나입니다. 너는 나에게 적절한 길을 보여줄 수 있니? –

9

어쩌면 늦었지만 grunt-browserify을 통해 브라우저 릿을 사용하고 있습니다. 그것은 매우 편리 옵션이 watch: true browserify 대신 watchify를 사용하고 주로 작업 속도를 높입니다. 내가 전에 NPM과 watchify 설치해야했습니다 물론

browserify: { 
    dev: { 
    src: ['./lib/app.js'], 
    dest: 'build/bundle.<%= pkg.name %>.js', 
    options: { 
     transform: ['reactify'], 
     watch: true 
    } 
    } 
} 

grunt.loadNpmTasks('grunt-browserify'); 
grunt.registerTask('dev', ['browserify:dev']); 

: 같은

내 Gruntfile.js 보인다.