ES6模块如何在节点中作为脚本运行? [英] How can an ES6 module be run as a script in Node?

查看:13
本文介绍了ES6模块如何在节点中作为脚本运行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Node中将ES6模块作为脚本运行?

当我尝试此Shebang时,出现错误:

#!/usr/bin/env node --experimental-modules

/usr/bin/env:‘node--实验性模块’:没有这样的文件或目录

如果我使用这个Shebang,它当然有语法错误:

#!/usr/bin/env node

语法错误:意外的令牌导入

我使用的变通方法是使用外壳脚本调用模块:

#!/usr/bin/env sh

BASEDIR=$( dirname "$0" )
node --experimental-modules $BASEDIR/script.mjs "$@"

是否可以在没有第二个文件的情况下使其正常工作?

推荐答案

我不确定它是什么时候更改的,但在最近的节点版本中,如果脚本是包的一部分(即,文件夹或任何父文件夹中有一个Package.json文件),则不需要特别注意。只需确保遵循以下步骤:

  1. 在Package.json中,设置"type": "module"
  2. 为文件提供.js扩展名
  3. 使用Shebang#!/usr/bin/env node

这篇关于ES6模块如何在节点中作为脚本运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆