javascript - 如何在 Node.js 中使用“导入”?
问题描述
我尝试将使用 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"
}
}
]
]
}
包.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
文件夹用于前端。
提前致谢!
解决方案
如果你愿意,你可以只使用 require 。以下是有关为什么有两种引入文件的方法的详细信息。“require(x)”和“import x”的区别
推荐阅读
- c# - 如何使用 HttpClient 在 c# 中使用 Json 查询
- strapi - 从模型生命周期方法中检索 Strapi 中的模型属性
- java - 使用谷歌翻译 Java 库,带有特殊字符的语言返回问号
- javascript - 如何使用javascript禁用对按Tab而不是一个输入字段的关注
- android - SwipeRefreshLayout 在协程中为空
- ruby-on-rails - 上传“复合 -compose Over -gravity North”期间的 Minimagick 错误
- openshift - Redhat Couchbase 服务器图像/容器不响应 http://localhost:8091
- xamarin.forms - xamarin.forms 检测 ios 应用程序从后台进入前台
- mysql - 将一个属性拆分为几个新的表/属性
- javascript - 从 3.x 迁移到 5.x (React) 后,Storybook 插件无法正常工作