gulpbuild立输出不在Heroku slug

我有一个在本地工作的超级简单的gulpfile:

const gulp = require('gulp'); gulp.task('build:css', function() { return gulp.src('./node_modules/bootstrap/dist/css/*') .pipe(gulp.dest('./build')); }); gulp.task('build:js', function() { return gulp.src('./node_modules/bootstrap/dist/js/*') .pipe(gulp.dest('./build')); }); gulp.task('build', [ 'build:css', 'build:js' ]); gulp.task('default', [ 'build' ]); 

它运行良好,并将文件复制到“构build”子文件夹。 事实上,它也运行在git push heroku master (它是package.json的一个postinstall脚本):

 remote: > gulp build remote: remote: [06:57:45] Using gulpfile /tmp/build_212ea9c2c3fab185469156431b6c1509/coming-soon/gulpfile.js remote: [06:57:45] Starting 'build:css'... remote: [06:57:45] Starting 'build:js'... remote: [06:57:45] Finished 'build:css' after 17 ms remote: [06:57:45] Finished 'build:js' after 8.18 ms remote: [06:57:45] Starting 'build'... remote: [06:57:45] Finished 'build' after 46 μs 

但是,应用程序运行时,生成文件夹不存在:

 $ heroku run ls Running ls on something... up, run.7113 gulpfile.js index.pug node_modules package.json server.js 

没有.slugignore 。 我已经尝试使用__dirname并没有在__dirname的path前缀,但没有得到生成文件夹到输出。

我还有什么可以尝试?

我有gulp作为一个dependencies条目,但不是bootstrap 。 如果只是我输出一个文件数,我会看到./node_modules/bootstrap/dist/css/*和JS对应匹配0个文件,因为boostrap不是boostrap npm installed

解决方法:任何构build依赖关系需要dependencies而不是package.json devDependencies 。 我只是错过了这一个。