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
。 我只是错过了这一个。