Unexpected token import
koa连接mongodb数据库时报错Unexpected token import,已引入babel
server.js
const db = require('./mongodb/db');
const Koa = require('koa');
const webpack = require('webpack');
const merge = require('webpack-merge');
const KoaRouter = require('koa-router')();
const Monk = require('monk');
const schema = require('./mongodb/schema');
const opn = require('opn');
const config = merge(require('../config/webpack.config.dev'));
const appConfig = require('../app.config');
const currentIP = require('ip').address();
const uri = `http://${currentIP}:${appConfig.appPort}`;
const clientCompiler = webpack(config);
const devMiddleware = webpackDevMiddleware(clientCompiler, {
publicPath: config.output.publicPath,
headers: {'Access-Control-Allow-Origin': '*'},
stats: {
colors: true,
modules: false,
},
noInfo: false,
});
// koa server
const app = new Koa();
// dateBase.connect();
db.connect((err) => {
if (err) throw err;
console.log('success');
});
devMiddleware.waitUntilValid(() => {
// console.log('> Listening at ' + uri + '\n');
// opn(uri)
});
// 错误处理
app.on('error', (err) => {
console.error('Server error: \n%s\n%s ', err.stack || '');
});
app.listen(appConfig.appPort);
schema.js
import mongoose from 'mongoose';
const Schema = mongoose.Schema;
const UserModel = new Schema({
name: String,
});
const User = mongoose.model('user', UserModel);
module.exports = {
User
};
.babelrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
"react-hot-loader/babel"
]
}
前端页面是可以用import引入的,server端的代码不可以
由于学习不深入,所以不知道问题出在哪里,请各位大神指教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
node是不支持
import
语法,你可以换成require
的方式引入模块;如果使用babel的 ,入口文件也同样是不能使用
import
的,具体的配置方法可以自行百度。你的babel应该是配置不对,所以报错了。NodeJS对ES6的支持尚处于试验阶段,默认不打开,所以import语法也不支持。如何打开请参考文档:https://nodejs.org/api/esm.ht...
如果不使用ES Module使用Babel也是可行的,配置环节比较长,不知道你参考的哪篇文章,可以看看这里:https://medium.com/@JedaiSabo...
我觉得你可能是在执行的时候没有用babel-node: