解决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。

猜你喜欢

转载自blog.csdn.net/sinat_36521655/article/details/109863364
今日推荐