$ npm install -g sails-generate-backend-gulp
$ npm install -g sails-generate-gulpfile
$ npm install -g sails-generate-frontend-gulp
$ npm install -g sails-generate-new-gulp
add this to .sailsrc file in working directory
{
"generators": {
"modules": {
"new": "sails-generate-new-gulp",
"frontend": "sails-generate-frontend-gulp",
"backend": "sails-generate-backend-gulp",
"gruntfile": "sails-generate-gulpfile"
}
}
}
I added a growl function to the gulp tasks that show with growl.
error:
------------------------------------------------------------------------
grunt-cli: The grunt command line interface. (v0.1.13)
Fatal error: Unable to find local grunt.
If you're seeing this message, either a Gruntfile wasn't found or grunt
hasn't been installed locally to your project. For more information about
installing and configuring grunt, please see the Getting Started guide:
{ "hooks": { "grunt": false }, "generators": { "modules": { } } }
gulp.task('sails-linker-gulp:devViews', function() { // Read templates return gulp.src(['views/**/*.html', 'views/**/*.ejs']) // Link the JavaScript .pipe(plugins.linker({ scripts: [require('../pipeline').jsFilesToInject], startTag: '<!--SCRIPTS-->', endTag: '<!--SCRIPTS END-->', fileTmpl: '<script src="%s"></script>', appRoot: '.tmp/public' })) // Link the CSS .pipe(plugins.linker({ scripts: [require('../pipeline').cssFilesToInject], startTag: '<!--STYLES-->', endTag: '<!--STYLES END-->', fileTmpl: '<link rel="stylesheet" href="%s">', appRoot: '.tmp/public' })) // Link the JST Templates .pipe(plugins.linker({ scripts: ['.tmp/public/jst.js'], startTag: '<!--TEMPLATES-->', endTag: '<!--TEMPLATES END-->', fileTmpl: '<script type="text/javascript" src="%s"></script>', appRoot: '.tmp/public', })) // Write modified files to views/ .pipe(gulp.dest('views/')) .pipe(plugins.if(growl, plugins.notify({ message: 'sails-linker-gulp devViews task complete' }))); });
gulp.task('sails-linker-gulp:devAssets', function() { // Read templates return gulp.src('.tmp/public/**/*.html') // Link the JavaScript .pipe(plugins.linker({ scripts: [require('../pipeline').jsFilesToInject], startTag: '<!--SCRIPTS-->', endTag: '<!--SCRIPTS END-->', fileTmpl: '<script src="%s"></script>', appRoot: '.tmp/public' })) // Link the CSS .pipe(plugins.linker({ scripts: [require('../pipeline').cssFilesToInject], startTag: '<!--STYLES-->', endTag: '<!--STYLES END-->', fileTmpl: '<link rel="stylesheet" href="%s">', appRoot: '.tmp/public' })) // Link the JST Templates .pipe(plugins.linker({ scripts: ['.tmp/public/jst.js'], startTag: '<!--TEMPLATES-->', endTag: '<!--TEMPLATES END-->', fileTmpl: '<script type="text/javascript" src="%s"></script>', appRoot: '.tmp/public', })) // Write modified files to views/ .pipe(gulp.dest('.tmp/public/')) .pipe(plugins.if(growl, plugins.notify({ message: 'sails-linker-gulp devAssets task complete' }))); });
module.exports = function (gulp, plugins) { gulp.task('buildProd', function(cb) { plugins.sequence( 'compileAssets', 'concat:js', 'concat:css',
'uglify:dist', 'cssmin:dist',
'linkAssetsBuildProd', 'clean:build', 'copy:build', cb ); });};
module.exports = function (gulp, plugins) { gulp.task('prod', function(cb) { plugins.sequence( 'compileAssets', 'concat:js', 'concat:css',
'uglify:dist', 'cssmin:dist',
'sails-linker-gulp:prodAssets', 'sails-linker-gulp:prodViews', cb ); });};