Configuration 大口喝咖啡-信号异步完成警告 系统配置: 项目配置

Configuration 大口喝咖啡-信号异步完成警告 系统配置: 项目配置,configuration,gulp,coffeescript,Configuration,Gulp,Coffeescript,package.json配置 { "name": "gulp-demo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": {

package.json
配置

{
  "name": "gulp-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "coffeescript": "^2.5.1",
    "gulp": "^4.0.2",
    "gulp-clean": "^0.4.0",
    "gulp-coffee": "^3.0.3",
    "gulp-connect": "^5.7.0",
    "gulp-jade": "^1.1.0",
    "gulp-requirejs": "^1.3.0",
    "gulp-stylus": "^2.7.0",
    "gulp-uglify": "^3.0.2"
  }
}
gulpfile.coffee
配置:

gulp = require 'gulp'

gulp.task 'default', ->
    console.log 'Hello world!'
没有别的了。 要执行“吞咽”任务,请执行以下操作:

/gulp-demo$ gulp
[03:09:58] Requiring external module coffeescript/register
[03:09:58] Using gulpfile ~/Development/projects/web/my/gulp-demo/gulpfile.coffee
[03:09:58] Starting 'default'...
Hello world!
[03:09:58] The following tasks did not complete: default
[03:09:58] Did you forget to signal async completion?
我知道syntax是不正确的,验证
coffeescript
文档,它的语法似乎是正确的

我是新来的
gulp
coffeescript
,但我相信由于信息的缘故,这里遗漏了一些东西

问题是: 如何解决这个问题

[03:09:58] The following tasks did not complete: default
[03:09:58] Did you forget to signal async completion?
附笔。 关于信息

[03:09:58] Requiring external module coffeescript/register
我尝试以参数开始(遵循一些建议),但结果相同:

$ gulp --require coffeescript/register
P.S.2。 如果我尝试从
gulpfile.js
文件中执行
gulp
,则一切都是正确的:

function defaultTask(cb) {
  console.log('Hello gulp!');
  cb();
}

exports.default = defaultTask
结果是:

gulp-demo$ gulp
[03:44:40] Using gulpfile ~/Development/projects/web/my/gulp-demo/gulpfile.js
[03:44:40] Starting 'default'...
Hello gulp!
[03:44:40] Finished 'default' after 1.3 ms
必须是
async
函数,或者在完成时调用回调函数

gulp.task 'default', (done) ->
  console.log 'Hello world!'
  done()
或者,如果您有任何需要等待的异步函数,在coffeescript中,如果函数包含
await
,它也将自动变为
async
。然后大口吞咽,等待问题解决。例如:

gulp.task 'default', () ->
  console.log 'Hello world!'
  await new Promise (resolve, reject) => 
    setTimeout 
        resolve() 
    , 1000 
gulp.task 'default', () ->
  console.log 'Hello world!'
  await new Promise (resolve, reject) => 
    setTimeout 
        resolve() 
    , 1000