本文主要是介绍解决node环境下SyntaxError: Cannot use import statement outside a module的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题
今天刷leetcode的时候,发现有些函数老是重复书写,于是单独写了一个uitls.js模块,通过import的方式导入,没想到居然报错了。
解决方案
错误警告其实已经给出了解决方案,在package.json文件中设置"type": "module"
。
所以执行一下下面的命令,默认所有配置为‘y’,从而快速生成package.json,然后修改文件即可。
npm init -y
{"name": "leetcode","version": "1.0.0","description": "","main": "107. 二叉树的层次遍历 II.js","type": "module","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC"
}
最后执行文件,果然就可以了,不过也还有一个warning,这是啥子实验性的东西??
问题原因
node早先只支持CommonJS的模块化方案,所以ES6的模块化特性用不了。但是在Node V13.2.0之后开始实验性的支持ESM模块化,不过需要创建package.json文件指明type类型为module。
这篇关于解决node环境下SyntaxError: Cannot use import statement outside a module的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!