nodejs支持es模块规范吗?

模块可以在浏览器的客户端使用,也可以在 Node.js 的服务器端使用。有时也使用像 Babel 这样的工具将代码从一种模块格式转换为另一种格式。所有这些都使得混乱的 JavaScript 模块状态变得更加混乱。

在Node.js 中支持服务器端的 ES 模块开箱即用,将能够允许全栈开发人员非常自然地为客户端和服务器编写模块化、可重用的 JavaScript 代码。

Node.js 模块

CommonJS 模块

目前Node.js 中模块的事实标准是 CommonJS。 CommonJS 模块在普通的 .js 文件中用 module.exports 进行定义,然后可以用 require() 函数在其他 .js 文件中使用。例如:

// foo.js
module.exports = function() { 
  return 'Hello foo!';
}

// index.js
var foo = require('./foo');
console.log(foo()); // Hello foo!

可以使用 node index.js 命令运行此示例。

ES模块

从Node v8.5开始,开发人员已经能够使用--experimental-modules标志运行对ES模块规范的各种支持了。从Node v12.4开始,模块可以在 .mjs 文件中定义。例如:

// foo.mjs
export function foo() { 
  return 'Hello foo!'; 
}

// index.mjs
import { foo } from './foo.mjs';
console.log(foo()); // Hello foo!

用 node --experimental-modules index.mjs 命令运行此示例。

以上就是nodejs支持es模块规范吗?的详细内容,更多请关注html中文网其它相关文章!

赞(0) 打赏
未经允许不得转载:html中文网首页 » Node.js答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏