J'ai une application javascript de pile complète exécutée sur React, Node, express. Le problème est export
sans default
ne fonctionne pas dans le noeud, cependant, il fonctionne très bien dans react. Mon nœud et React partagent les mêmes configurations et packages babel.
J'ai déjà essayé d'ajouter le @babel/plugin-proposal-export-default-from
package dans mon babel.config.js
mais après cela, il génère une autre erreur
Jeton inattendu (25:16) export getMember;
J'ai même essayé de supprimer la demi-colonne
Voici mon babel.config.js
module.exports = {
"presets": ['@babel/preset-env', '@babel/preset-react'],
"plugins": [
[
"@babel/plugin-proposal-class-properties",
{
"loose": true
}
]
]
};
Voici mon 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"
}
}
Voici mon code où l'erreur se produit
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;
Tu devrais utiliser export default getMember
ou export { getMember }
ou export const getMember = async...
.
Voir: https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export