【发布时间】:2020-09-24 04:14:02
【问题描述】:
我尝试将使用 React 和 Node.js 开发的项目部署到 Heroku,但是在发出 git push heroku master 后,我收到了错误:
2020-06-05T02:12:18.092681+00:00 app[web.1]: import express from "express";
2020-06-05T02:12:18.092682+00:00 app[web.1]: ^^^^^^^
2020-06-05T02:12:18.092682+00:00 app[web.1]:
2020-06-05T02:12:18.092683+00:00 app[web.1]: SyntaxError: Unexpected identifier
2020-06-05T02:12:18.092683+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:718:23)
我google了一下,据说Node.js不支持ES6语法,我可以用babel解决。
但是不知道怎么配置。
以下是我的文件:
.babelrc.json:
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
package.json:
{
"name": "react_e-commerce",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "nodemon --watch backend --exec babel-node backend/server.js",
"build": "rimraf dist && babel backend -d dist",
"heroku-postbuild": "npm run build && cd e-commerce && npm install && npm run build"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.9.16"
},
"devDependencies": {
"@babel/cli": "^7.10.1",
"@babel/core": "^7.10.1",
"@babel/node": "^7.10.1",
"@babel/preset-env": "^7.10.1",
"babel-cli": "^6.26.0",
"mkdirp": "^1.0.4",
"nodemon": "^2.0.4",
"rimraf": "^3.0.2"
},
"engines": {
"node": "12.4.0",
"npm": "6.9.0"
}
}
我的整个项目都在https://github.com/powerseed/e-commerce-React
e-commerce 文件夹用于前端。
提前致谢!
【问题讨论】:
-
您可以在节点中使用导入。如果您使用的是 Node v13 或更高版本,只需将
"type": "module"添加到您的package.json文件中即可。
标签: javascript node.js reactjs heroku babeljs