Oto co zrobiłem:
npm install grunt-browserify --save-dev
npm install coffeeify --save-dev
Dodaj krok grunt-browserify w Gruntfile.js
:
browserify: {
basic: {
src: ['<%= yeoman.app %>/scripts/**/*.js', '<%= yeoman.app %>/scripts/**/*.coffee'],
options: {
transform: ['coffeeify']
},
dest: '.tmp/scripts/application.js'
}
}
Dodaj krok do współbieżne/watch czynności, na przykład:
concurrent: {
server: [
'...',
'browserify'
],
dist: [
'...',
'browserify'
]
}
watch: {
coffee: {
files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],
tasks: ['...', 'browserify']
}
}
Zmienić domyślny app/szablon index.html, więc usemin będzie złączyć i Minify, z tego:
<!-- build:js scripts/main.js -->
<script src="bower_components/jquery/jquery.js"></script>
<script src="scripts/main.js"></script>
<!-- endbuild -->
<!-- build:js(.tmp) scripts/coffee.js -->
<script src="scripts/hello.js"></script>
<!-- endbuild -->
do tego:
<!-- build:js({.tmp,app}) scripts/main.js -->
<script src="bower_components/jquery/jquery.js"></script>
<script src="scripts/application.js"></script>
<!-- endbuild -->
można pokazać to z diff, jeśli ktoś nie używał coffeescript? – captDaylight