koa-static:旧节点不支持异步功能.js



在我的KOA项目中,我使用koa-static来服务静态文件。和简单的项目,它只是如下:

var koa = require('koa');
var serve = require('koa-static');
var app = new koa();
app.use(serve('./public'));
app.listen(3000);

我们计划将所有静态文件放在public文件夹中。

,但是当我要运行节点应用时,我会收到以下错误消息。

koa-static@4.0.1@koa-staticindex.js:39
return async function serve (ctx, next) {
             ^^^^^^^^
SyntaxError: Unexpected token function

所以我的节点版本是 6.11.0。和koa-static使用的async/await函数,该功能由Node.js支持,比V7.6.0。

因此,如果我不打算更新节点,那么无论如何是否可以解决此问题?我手动使用Babel将我的ES6代码传输。但是对于包裹,我可以宝贝吗?

事实是,KOA专门围绕 async/await和node.js 7.6.0或更高版本构建,这在GitHub上提到。因此,软件包开发人员只是遵循基本标准,并且在大多数情况下,不用费心支持node.js的早期版本。也许您应该重新考虑迁移?

绝对没有,有两种可见的方法可以使其起作用:

  1. 设置软件包。JSON步骤,以使您使用Babel作为安装过程的一部分(npm install具有preinstallpostinstall步骤)。这样,您将在安装后立即将包装发送。
  2. 将您的Webpack(Gulp,Grunt)配置为Precrocess node_modules或使用Babel特别是koa-static。性能下降可能很重要,这是相当懒惰的解决方案。

最新更新