我正在关注文档并复制相同的代码给我这个导入错误app.js
应用程序.js:
/*
require('dotenv').config()
const express = require('express');
const cors = require('cors');
*/
// Aquí me da el error:
import models, { connectDatabase } from './models/IndexModels'
/*
const app = express()
const port = process.env.PORT;
app.use(cors())
connectDatabase().then(async () => {
app.listen(port, () => console.log(`database up and express app running on port ${port}`))
})
*/
我也试图简单地说:import { connectDatabase } from './models/IndexModels'
它给了我同样的错误:
import { connectDatabase } from './models/IndexModels'
^
SyntaxError: Unexpected token {
这是我从中导出的文件:
IndexModels.js:
/*
import mongoose from "mongoose"
import List from "./list"
import Task from "./task"
import User from "./user"
const connectDatabase = () => {
return mongoose.connect(process.env.DATABASE_URL);
}
*/
const models = { List, Task, User };
export { connectDatabase }
export default models;
CommonJS是
Node.js
用于处理模块的系统,您的代码使用的是原生 ES6 模块,而Node.js
. 如果代码要直接运行,Node.js
请尝试按如下方式导入模块:并将它们导出如下:
另一种解决方案是使用esm,安装它:
然后您可以运行与这样的模块一起使用的代码
ES6
:或者,如果您有
Node 13
,您可以使用它的实验功能之一(使用模块ES6
)。js
从a重命名文件mjs
并运行: