【问题标题】:use @std/esm to use ES6 in Express node.js project在 Express node.js 项目中使用 @std/esm 使用 ES6
【发布时间】:2018-03-04 04:17:21
【问题描述】:

我正在开发一个 Node.js 项目。我正在尝试将 ES6 功能(如“导入”、“导出”)与新的 ESM 库一起使用,但我正在努力如何在 Express 应用中使用它。

这是我所做的:

  1. 在项目目录中运行npm i --save @std/esm

  2. 在 index.js 中将“require("@std/esm")”添加到第一行

使用 ESS“导入”

这是我的 index.js

require("@std/esm")
// const express = require( "express" );
import express from '../node_modules/express'
const router = express.Router();
/* GET home page. */
router.get( "/", ( req, res, next ) => {
    res.render( "index", { "title": "Express" } );
} );
// export default router
module.exports = router;

运行项目,但出现此错误

/usr/local/bin/node /Volumes/Elements/Learning/Node/Project/NodeMongoTest1/routes/index.js
/Volumes/Elements/Learning/Node/Project/NodeMongoTest1/routes/index.js:3
import express from '../node_modules/express'
^^^^^^

    SyntaxError: Unexpected token import
        at new Script (vm.js:51:7)
        at createScript (vm.js:136:10)
        at Object.runInThisContext (vm.js:197:10)
        at Module._compile (module.js:626:28)
        at Object.Module._extensions..js (module.js:673:10)
        at Module.load (module.js:575:32)
        at tryModuleLoad (module.js:515:12)
        at Function.Module._load (module.js:507:3)
        at Function.Module.runMain (module.js:703:10)
        at startup (bootstrap_node.js:193:16)

    Process finished with exit code 1

知道如何使用 Express Node.js 配置 ESM 吗?

【问题讨论】:

  • import express from '../node_modules/express',用 node_modules 路径做 import/require 是罪过
  • @theAnubhav hi 可以提供更多详细信息如何纠正?谢谢
  • 顺便说一句。我正在使用 webstorm 和 IDE 提供的模板

标签: node.js express ecmascript-6


【解决方案1】:

通过@std/esm 启用 ESM 有三种方法。

使用 CJS 桥启用 ESM: index.js

// Provide options as a parameter, environment variable, or rc file.
require = require("@std/esm")(module/*, options*/)
module.exports = require("./main.mjs").default
  1. 使用 -r 选项在节点 CLI 中启用 ESM:

    node -r @std/esm main.mjs

  2. 在节点 REPL 中启用 ESM:

    节点 -r @std/esm

先尝试#2检查索引文件中的其余代码是否正确

【讨论】:

  • 答案是从自述文件中粘贴的,没有署名。
  • 感谢您的帮助。您能否详细解释一下使用 IDE 进行配置的步骤?例如 Webstorm?
猜你喜欢
  • 2018-04-06
  • 2017-09-17
  • 2023-03-05
  • 1970-01-01
  • 2022-12-11
  • 2020-10-25
  • 2020-05-11
  • 2022-01-12
  • 2019-12-28
相关资源
最近更新 更多