【问题标题】:Everytime I run gulp or gulp build local i get AssertionError [ERR_ASSERTION]: Task never defined: build每次我运行 gulp 或 gulp build local 我都会得到 AssertionError [ERR_ASSERTION]: Task never defined: build
【发布时间】:2020-01-28 10:36:53
【问题描述】:

我正在尝试跑步 gulp 在我的终端中,我得到了这个断言错误。我已经卸载了节点和 NPM 并使用 brew 再次重新安装。 npm 版本为6.13.4 节点版本v12.14.1

我的系统是 MacOS Catalina 10.15.2

终端错误

gulp build
assert.js:374
    throw err;
    ^

AssertionError [ERR_ASSERTION]: Task never defined: build
    at getFunction (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/node_modules/undertaker/lib/helpers/normalizeArgs.js:15:5)
    at map (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/node_modules/arr-map/index.js:20:14)
    at normalizeArgs (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/node_modules/undertaker/lib/helpers/normalizeArgs.js:22:10)
    at Gulp.series (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/node_modules/undertaker/lib/series.js:13:14)
    at Object.<anonymous> (/Users/Designernaruka/Punchh/Practise-Task/bulma/bulma-npm/gulpfile.js:13:26)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
    at Module.load (internal/modules/cjs/loader.js:811:32)
    at Function.Module._load (internal/modules/cjs/loader.js:723:14)
    at Module.require (internal/modules/cjs/loader.js:848:19) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: undefined,
  expected: true,
  operator: '=='
}
var gulp = require('gulp'); 
var sass = require('gulp-sass'); 
var browserSync = require('browser-sync').create(); 

gulp.task('sass', function() { 
  return gulp.src('./sass/main.sass')
   .pipe(sass().on('error', sass.logError))
   .pipe(gulp.dest('./css'))
   .pipe(browserSync.stream());
}); 

// Starts a BrowerSync instance 
gulp.task('server', gulp.series('build', 
   function(){ browser.init({server: './_site', port: port}); 

gulp.watch("./sass/main.sass", ['sass']); 
gulp.watch("./*.html").on('change', browserSync.reload); })); 
gulp.task('default', ['serve']);

package.json:

{ 
  "name": "bulma-npm",
   "version": "1.0.0",
   "description": "",
   "main": "index.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "author": "",
   "license": "ISC",
   "dependencies":
     {
       "bulma": "^0.8.0"
     },
   "devDependencies":
     { 
       "browser-sync": "^2.26.7",
       "gulp": "^4.0.2",
       "gulp-sass": "^4.0.2"
     }
 }

【问题讨论】:

  • Package Json { "name": "bulma-npm", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" &amp;&amp; exit 1" }, "author": "", "license": "ISC", "dependencies": { "bulma": "^0.8.0" }, "devDependencies": { "browser-sync": "^2.26.7", "gulp": "^4.0.2", "gulp-sass": "^4.0.2" } }
  • var gulp = require('gulp'); var sass = require('gulp-sass'); var browserSync = require('browser-sync').create(); gulp.task('sass', function() { return gulp.src('./sass/main.sass') .pipe(sass().on('error', sass.logError)) .pipe(gulp.dest('./css')) .pipe(browserSync.stream()); }); // Starts a BrowerSync instance gulp.task('server', gulp.series('build', function(){ browser.init({server: './_site', port: port}); gulp.watch("./sass/main.sass", ['sass']); gulp.watch("./*.html").on('change', browserSync.reload); })); gulp.task('default', ['serve']);
  • 我已将您的 gulpfile 和 package.json 移至您的问题中。将来请编辑您的问题以添加该信息 - 它更具可读性。

标签: node.js npm sass gulp


【解决方案1】:

由于您使用的是 gulp v4,因此此语法不正确:

gulp.watch("./sass/main.sass", ['sass']); 

gulp.task('default', ['serve']);

这是 gulp v3 语法。将其更改为:

gulp.watch("./sass/main.sass", gulp.series('sass')); 

gulp.task('default', gulp.series('serve'));

并查看从 gulp v3 到 v4 的迁移指南。有很多教程和代码是 v3,它不适用于 v4。

【讨论】:

  • 我做了同样的事,但没有成功
  • 你没有显示的构建任务在哪里。不过,我指出的错误需要修复。您的代码在遇到这些错误之前就失败了。可能您正在调用 build 并且从未定义它,除非您有更多代码要显示该任务。
  • 我正在修复,给我一些时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多