在使用 parcel 的时候,很多人遇到了一个问题:
async function bundle(main,command) { ^^^^^^^^ SyntaxError: Unexpected token function
对于这个错误,很多人似曾相识,以为是 babel 配置的问题。
但是 parcel 号称是零配置,是不需要配置 babel 的。
如果使用全局安装 parcel,会发现这个是 parcel 自身的报错:
在 parcel 的 package.json 文件写着
"engines": { "node": ">= 6.0.0" },
所以 parcel 是支持 6.x 版本的。
而且在 parcel 的入口文件也有版本判断:
// Node 8 supports native async functions - no need to use compiled code! module.exports = parseInt(process.versions.node,10) < 8 ? require('./lib/Bundler') : require('./src/Bundler');
但是在 parcel 的 bin/cli.js 文件中却使用了 async 函数。
所以,使用 parcel 时还是把 nodejs 版本升级到 8.x 吧。