简单的Express服务器和Gulp错误

我试图运行一个简单的快速Web服务器使用吞咽任务。 我只想要一个显示索引文件的静态服务器。 我可以通过运行一个节点模块来轻松地完成这个任务,但是我想再次执行这个任务。 我打算扩大这个允许LiveReload服务器设置。

我遵循了很多关于设置LiveReload的教程,但是它们都失败了。 我假设它与文章写作时使用的版本有关。 但是我希望也许有人想到如何处理这个问题。

我已经创build了一个非常小的Github回购,可以让你玩弄我想要完成的事情: fixit

Gulpfile.js:

var gulp = require('gulp'); var EXPRESS_PORT = 4000; var EXPRESS_ROOT = __dirname; gulp.task('express', function () { var express = require('express'); var app = express(); app.use(express.static(EXPRESS_ROOT)); app.listen(EXPRESS_PORT); }); 

*与Gulp文件在同一目录中有一个index.html

这里是错误:

 /var/www/clients/client1/web14/sendus-admin/node_modules/express/node_modules/etag/index.js:55 throw new TypeError('argument entity must be string or Buffer') ^ TypeError: argument entity must be string or Buffer at etag (/var/www/clients/client1/web14/sendus-admin/node_modules/express/node_modules/etag/index.js:55:11) at SendStream.setHeader (/var/www/clients/client1/web14/sendus-admin/node_modules/express/node_modules/send/index.js:724:15) at SendStream.send (/var/www/clients/client1/web14/sendus-admin/node_modules/express/node_modules/send/index.js:500:8) at onstat (/var/www/clients/client1/web14/sendus-admin/node_modules/express/node_modules/send/index.js:585:10) at Object.oncomplete (fs.js:97:15) 

我有同样的问题,一个星期没有Gulp和BrowserSync工作(组合给我同样的错误),我诉诸更重的选项,如重新安装Node.js。 最后,我的工作是使用nvm降级到Node.js版本10(我以前使用11)。

 nvm install 0.10 nvm use 0.10 

然后只是更新和使用Gulp:

 npm update gulp 

当然希望也能帮到你。

自从一个星期以来,我和Express.static有同样的问题。 禁用ETAG Express.static为我解决这个问题,直到有一个更好的修复:

 app.use(express.static(path.join(__dirname, '/static'), {etag: false}));