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

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

posted @ 2020-08-11 22:45  Julian_jiang  阅读(29145)  评论(3编辑  收藏  举报