SyntaxError: Cannot use import statement outside a module报错原因和解决方法

在刚刚学习vue工程化开发时碰到的问题

环境:

在NodeJS中安装babel
安装babel
打开终端,输入命令:

npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node

安装完毕之后,再次输入命令安装:

npm install --save @babel/polyfill

创建babel.config.js
在项目目录中创建babel.config.js文件。
编辑js文件中的代码如下:

const presets = [
["@babel/env",{
targets:{
edge:"17",
firefox:"60",
chrome:"67",
safari:"11.1"
}
}]
]
//暴露
module.exports = { presets }

1、使用export default默认导出

2、使用import m1 from "./m1.js"导入

3、在node.js中运行npx babel-node .\index.js

4、报错SyntaxError: Cannot use import statement outside a module

var a = 10;
const b = 20;
let c = 30;

function show(){
    console.log('11111');
}

export default {
    a,
    b,
    show()
}
import m1 from "./m1.js"

console.log(m1);

解决方法:

找了网上很多方法并没有找到解决方法

有需求的可以看看官方文档:

https://nodejs.org/dist/latest-v10.x/docs/api/esm.html

或者查看以下文档

https://stackoverflow.com/questions/45854169/how-can-i-use-an-es6-import-in-node

http://www.ruanyifeng.com/blog/2016/01/babel.html

https://imweb.io/topic/582293894067ce9726778be9

如果有朋友知道如何解决,麻烦留言告诉我一下,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值