繁体   English   中英

在 Express 中使用 ES6 模块

[英]Using ES6 modules in Express

有没有办法

  1. Express应用程序中使用 ES6 模块编写我的代码;
  2. 不恢复到babel@std/esm

一旦我致力于Expressapp.js ,我就找不到摆脱它的方法。

这似乎应该已经在 web 上,但我能找到的只是上面的选项(转译,esm)。

使用 node.js,您必须告诉它您正在加载的主文件是一个 ESM 模块。 有几种方法可以做到这一点。 最简单的方法是只给主文件一个.mjs文件扩展名。

// app.mjs

import express from 'express';

const app = express();

app.get("/", (req, res) => {
    res.send("hello");
});

app.listen(80);

然后,使用以下命令启动您的程序:

node app.mjs

这行得通 - 我只是用节点 v14.4.0 运行它:。 其他方法在我之前给你链接中讨论过。 根据该文档,有三种方法可以指定您将 ESM 模块加载为顶级模块文件:

  1. .mjs结尾的文件。

  2. 当最近的父package.json文件包含值为“模块”的顶级字段“类型”时,以.js结尾的文件。

  3. 字符串作为参数--eval ,或通过 STDIN 管道传输到节点,带有标志--input-type=module

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM