在我的Koa项目中,我使用koa-static
来提供静态文件。简单的项目如下:
var koa = require('koa');
var serve = require('koa-static');
var app = new koa();
app.use(serve('./public'));
app.listen(3000);
我们计划将所有静态文件放在public
文件夹中。
但是当我想运行Node应用程序时,我收到以下错误消息。
koa-static@4.0.1@koa-static\index.js:39 return async function serve (ctx, next) { ^^^^^^^^ SyntaxError: Unexpected token function
所以我的节点版本是6.11.0
。 koa-static
使用了async/await
函数,Node.js支持的函数比v7.6.0更新。
因此,如果我不打算更新Node,那么还是可以解决这个问题吗?我手动使用Babel
来转换我的ES6代码。但对于包裹,我可以通过它来消除它吗?
答案 0 :(得分:0)
问题是Koa是专门围绕async/await
和Node.js 7.6.0或更高版本构建的,GitHub提到了这一点。所以包开发人员只是遵循基本标准,大多数时候都不打扰支持早期版本的Node.js.也许你应该重新考虑迁移?
如果绝对没有,有两种可见的方法可以使它工作:
npm install
具有preinstall
和postinstall
步骤)。这样你就可以在安装后立即编译包。node_modules
或具体koa-static
。性能下降可能很严重,这是一个相当懒惰的解决方案。