node.js - 如何修复 Node 中的 ' Support for the experimental syntax ' exportDefaultFrom'当前未启用'

标签 node.js ecmascript-6 babeljs es6-modules babel-loader

我有一个在 React、Node、express 上运行的全栈 javascript 应用程序。 问题是没有 defaultexport 在 node 中不工作,但是,它在 react 中工作正常。 我的 Node 和 React 共享相同的 babel 配置和包。

我已经尝试在我的 babel.config.js 中添加 @babel/plugin-proposal-export-default-from 包,但这样做之后,它产生另一个错误

Unexpected token (25:16) export getMember;

我什至尝试删除分栏

这是我的 babel.config.js

    module.exports = {
      "presets": ['@babel/preset-env', '@babel/preset-react'],
      "plugins": [
        [
          "@babel/plugin-proposal-class-properties",
          {
            "loose": true
          }
        ]
      ]

};

这是我的package.json

{
  "name": "dpapi",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "nodemon --exec babel-node server.js --ignore dist/",
    "dev": "webpack -wd"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-eslint": "^10.0.1",
    "babel-preset-es2015": "^6.24.1",
    "eslint": "^5.16.0",
    "eslint-plugin-react": "^7.13.0",
    "nodemon": "^1.18.11",
    "webpack-cli": "^3.3.1"
  },
  "dependencies": {
    "@babel/core": "^7.4.4",
    "@babel/node": "^7.2.2",
    "@babel/plugin-proposal-class-properties": "^7.4.4",
    "@babel/plugin-proposal-export-default-from": "^7.2.0",
    "@babel/preset-env": "^7.4.4",
    "@babel/preset-react": "^7.0.0",
    "@material-ui/core": "^3.9.3",
    "@material-ui/icons": "^3.0.2",
    "axios": "^0.18.0",
    "babel-loader": "^8.0.5",
    "body-parser": "^1.19.0",
    "dropbox": "^4.0.17",
    "ejs": "^2.6.1",
    "express": "^4.16.4",
    "mongoose": "^5.5.7",
    "morgan": "^1.9.1",
    "node-fetch": "^2.5.0",
    "query-string": "^6.5.0",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-redux": "^7.0.3",
    "react-router-dom": "^5.0.0",
    "redux": "^4.0.1",
    "redux-logger": "^3.0.6",
    "webpack": "^4.30.0"
  }
}

这是我发生错误的代码

import dbx from '../dropbox';

const getMember = async (req, res, next) => {

    try{


        res.status(201).json({
            message: "Account created"
        });



    } catch(error){
        console.log(error)
        res.status(500).json({
            error: error
        });
    }

}

export getMember;

最佳答案

您应该使用export default getMemberexport { getMember }export const getMember = async...

参见:https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export

关于node.js - 如何修复 Node 中的 ' Support for the experimental syntax ' exportDefaultFrom'当前未启用',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56196596/

相关文章:

Javascript 双冒号 lambda

javascript - Handlebars/Node/Express 无法加载文件

node.js - 作为 Slack 机器人回复丰富的消息

node.js - Azure Bot Framework - 换行卡片操作和按钮文本

node.js - 更新模型内的模型

javascript - 您可以在不使用它的情况下改变工厂函数的属性吗?

javascript - 合并异步操作、promise.then() 和递归 setTimeout,同时避免 "deferred antipattern"

javascript - 如何在 Angular 中使用 ngFor 遍历对象属性

javascript - 使用 Rollup 输出多个文件

javascript - Webpack、React.js - 浏览器控制台中要求未定义错误