更新3: 从Node
13开始,您可以使用.mjs扩展名,也可以在package.json中设置“
type”:“ module”。你 并不 需要使用
--experimental-modules标志。
更新2: 从Node
12开始,您可以使用
.mjs扩展名,也可以
"type":"module"在package.json中进行设置。并且您需要运行带有
--experimental-modules标志的节点。
更新: 在节点9中,它在标志后面启用,并使用
.mjs扩展名。
node --experimental-modules my-app.mjs
虽然
import确实是ES6的一部分,但是遗憾的是,默认情况下NodeJS不支持它,并且最近才在浏览器中提供支持。
有关MDN和此Node问题,请参阅浏览器兼容性表。
摘自James M Snell 关于Node.js中ES6模块的更新(2017年2月):
工作正在进行中,但将需要一些时间-我们目前至少需要一年左右的时间。
在本地显示支持之前,您必须继续使用经典
require语句:
const express = require("express");如果您确实要在NodeJS中使用ES6 /
7的新功能,则可以使用Babel对其进行编译。这是一个示例服务器。



