Laravel Gulp没有创建js文件夹


Laravel Gulp not creating js folder

我目前正在尝试让gulp在我的Laravel项目上运行。

我可以成功运行gulp在我的app.scss

我试图在测试咖啡脚本上运行gulp,咖啡脚本在资源>资产>咖啡> test.coffee

这是我的gulpfile.js

var elixir = require('laravel-elixir');
/*
 |--------------------------------------------------------------------------
 | Elixir Asset Management
 |--------------------------------------------------------------------------
 |
 | Elixir provides a clean, fluent API for defining some basic Gulp tasks
 | for your Laravel application. By default, we are compiling the Sass
 | file for our application, as well as publishing vendor resources.
 |
 */
elixir(function(mix) {
    mix.sass('app.scss');
    mix.coffee();
});

当我运行gulp时,我得到这个错误。

fetching Sass Source Files...
   - resources/assets/sass/app.scss

Saving To...
   - public/css/app.css
[23:08:58] Finished 'default' after 313 ms
[23:08:58] gulp-notify: [Laravel Elixir] Sass Compiled!
[23:08:58] Finished 'sass' after 403 ms
[23:08:58] Starting 'coffee'...
[23:08:58] 'coffee' errored after 311 μs
[23:08:58] TypeError: Cannot call method 'indexOf' of undefined
    at prefixOne (/home/pocockn/projects/dev.todoparrot.com/node_modules/laravel-elixir/GulpPaths.js:104:18)
    at GulpPaths.prefix (/home/pocockn/projects/dev.todoparrot.com/node_modules/laravel-elixir/GulpPaths.js:124:12)
    at GulpPaths.src (/home/pocockn/projects/dev.todoparrot.com/node_modules/laravel-elixir/GulpPaths.js:24:16)
    at prepGulpPaths (/home/pocockn/projects/dev.todoparrot.com/node_modules/laravel-elixir/tasks/coffee.js:55:10)
    at null.definition (/home/pocockn/projects/dev.todoparrot.com/node_modules/laravel-elixir/tasks/coffee.js:21:21)
    at Task.run (/home/pocockn/projects/dev.todoparrot.com/node_modules/laravel-elixir/Task.js:96:17)
    at Gulp.<anonymous> (/home/pocockn/projects/dev.todoparrot.com/node_modules/laravel-elixir/index.js:94:52)
    at module.exports (/home/pocockn/projects/dev.todoparrot.com/node_modules/orchestrator/lib/runTask.js:34:7)
    at Gulp.Orchestrator._runTask (/home/pocockn/projects/dev.todoparrot.com/node_modules/orchestrator/index.js:273:3)
    at Gulp.Orchestrator._runStep (/home/pocockn/projects/dev.todoparrot.com/node_modules/orchestrator/index.js:214:10)
[23:08:58] Error in plugin 'run-sequence'
Message:
    An error occured in task 'coffee'.

还有其他人遇到过这个错误吗?

您没有指定咖啡脚本的名称,因此Elixir不知道它需要编译什么文件。您唯一需要做的就是在花括号之间指定脚本的名称,如下所示:

elixir(function(mix) {
  mix.coffee('test.coffee');
});

还有一种叫做方法链接。这将允许您同时运行多个任务。如果您添加了Sass,您的代码应该看起来像这样:

elixir(function(mix) {
  mix.sass('app.scss')
     .coffee('test.coffee');
});

你可以在laravel文档中查看Elixir的更多信息。