Hi, I’m trying to run gulp on my project and I get an error.
It is a project of several modules: db, frontent, client, etc; is entirely built with javascript, Node.js
So far it works well, but I stop doing it.
When running “npm run build” I should run Gulp, and save the styles, but since it does not, I can not continue, because it does not take the changes I made and I can not continue with my application.
I show the error, the file Gulpfile.js and the package.json, in case you can help me.
I have tried several ideas searched by google, but nothing works until now.
Thank you.
> gulp
assert.js:42
throw new errors.AssertionError({
^
AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (/home/miguel/CURSOS/javascript-node/nuevoProyecto/michaelgram/node_modules/undertaker/lib/set-task.js:10:3)
at Gulp.task (/home/miguel/CURSOS/javascript-node/nuevoProyecto/michaelgram/node_modules/undertaker/lib/task.js:13:8)
at Object.<anonymous> (/home/miguel/CURSOS/javascript-node/nuevoProyecto/michaelgram/Gulpfile.js:68:6)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! michaelgram@0.1.0 build: `gulp`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the michaelgram@0.1.0 build script.
// This is the code of my Gulpfile.js file
var gulp = require('gulp');
var sass = require('gulp-sass');
var rename = require('gulp-rename');
var babel = require('babelify');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var watchify = require('watchify');
gulp.task('styles', function () {
gulp
.src('index.scss')
.pipe(sass())
.pipe(rename('app.css'))
.pipe(gulp.dest('public'));
})
gulp.task('assets', function () {
gulp
.src('assets/*')
.pipe(gulp.dest('public'));
})
function compile(watch) {
var bundle = browserify('./src/index.js', {debug: true});
if (watch) {
bundle = watchify(bundle);
bundle.on('update', function () {
console.log('--> Bundling...');
rebundle();
});
}
function rebundle() {
bundle
.transform(babel, { presets: [ 'es2015' ], plugins: [ 'syntax-async-functions', 'transform-regenerator' ] })
.bundle()
.on('error', function (err) { console.log(err); this.emit('end') })
.pipe(source('index.js'))
.pipe(rename('app.js'))
.pipe(gulp.dest('public'));
}
rebundle();
}
gulp.task('build', function () {
return compile();
});
gulp.task('watch', function () { return compile(true); });
gulp('default',('styles', 'assets', 'build'));
// ARCHIVO PACKAGE.JON
{
"name": "michaelgram",
"version": "0.1.0",
"description": "Programa para compartir fotos con tus amigos",
"main": "server.js",
"keywords": [
],
"author": "Miguel Espeso",
"license": "MIT",
"dependencies": {
"aws-sdk": "^2.250.1",
"axios": "^0.18.0",
"babel-polyfill": "^6.26.0",
"body-parser": "^1.18.3",
"cookie-parser": "^1.4.3",
"empty-element": "^1.0.0",
"express": "^4.16.3",
"express-session": "^1.15.6",
"file-extension": "^4.0.2",
"intl": "^1.2.5",
"intl-messageformat": "^2.2.0",
"intl-relativeformat": "^2.1.0",
"materialize-css": "^0.100.2",
"michaelgram-client": "file:../michaelgram-client",
"minimatch": "^3.0.4",
"multer": "^1.3.0",
"multer-s3": "^2.7.0",
"node-pre-gyp": "^0.9.1",
"page": "^1.8.6",
"passport": "^0.4.0",
"passport-facebook": "^2.1.1",
"passport-local": "^1.0.0",
"pug": "^2.0.3",
"readable-stream": "^2.3.6",
"superagent": "^3.8.3",
"title": "^3.2.0",
"vinyl-source-stream": "^2.0.0",
"yo-yo": "^1.4.1"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-plugin-syntax-async-functions": "^6.13.0",
"babel-plugin-transform-regenerator": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-preset-es2015": "^6.24.1",
"babelify": "^8.0.0",
"browserify": "^16.2.0",
"gulp": "^4.0.0",
"gulp-rename": "^1.2.2",
"gulp-sass": "^4.0.1",
"watchify": "^3.11.0",
"webpack": "^2.7.0"
},
"scripts": {
"build": "gulp",
"watch": "gulp watch",
"postinstall": "npm run build",
"start": "node server.js"
}
}