![](/img/trans.png)
[英]node.js koa can't sent value to the client in a async function,but outside
[英]koa-static: async function isn't supported by old Node.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
文件夾中。
但是,當我想運行Node應用程序時,出現以下錯誤消息。
koa-static@4.0.1@koa-static\\index.js:39 return async function serve (ctx, next) { ^^^^^^^^ SyntaxError: Unexpected token function
所以我的Node版本是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。 也許您應該重新考慮遷移?
如果絕對不可行,有兩種可見的方法可以使它起作用:
npm install
具有preinstall
和postinstall
步驟)。 這樣,您將在安裝后立即轉譯軟件包。 node_modules
或使用Babel專門進行koa-static
。 性能下降可能會很嚴重,這是一個很懶的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.