在我的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-静态@4.0.1@koa-静态\index.js:39返回异步函数服务(ctx,下一步){^ SyntaxError:意外令牌函数
所以我的节点版本是6.11.0。koa-static使用async/await函数,该函数由比v7.6.0更新的Node.js支持。
所以,如果我不打算更新节点,还有什么可以解决这个问题的吗?我手动使用Babel来传输我的ES6代码。但是这个包裹,我能给它吗?
发布于 2017-09-04 08:31:05
问题是,Koa是专门围绕async/await和Node.js 7.6.0或更高版本构建的,在GitHub中提到了这一点。因此,包开发人员只是在遵循基本标准,而且大多数时候都不需要支持早期版本的Node.js。也许你该重新考虑迁移?
如果绝对没有,有两种明显的方法可以让它发挥作用:
npm install有preinstall和postinstall步骤)。那样的话,安装后你就可以转接软件包了。node_modules或特别是koa-static与Babel。性能下降可能是很严重的,这是相当懒惰的解决方案。https://stackoverflow.com/questions/46029209
复制相似问题