在nodejs v8.11.3版本下,导入class报错

在nodejs v8.11.3版本下,创建test01.js,在文件中export class test01。再创建一个test02.js文件使用require导入test01,执行test02后报错,如何解决,前提条件是必须在nodejs v8.11.3版本下,必须使用class不能用function

img

img

img

在Node.js v8.11.3版本中,exportimport语法不被完全支持,因此无法直接使用ES6模块化的方式进行导出和导入。可以通过以下两种方式来解决这个问题:

  1. 使用旧的CommonJS模块化方式:
    test01.js:
    ```javascript
    class test01 {
    // your code here
    }

module.exports = test01;

test02.js:
```javascript
const test01 = require('./test01');

// 使用test01类
const instance = new test01();
  1. 使用Babel或其它转译工具:
    在使用Babel或其它转译工具的前提下,可以使用ES6的exportimport语法进行模块化开发。通过Babel将代码转译为更早版本的JavaScript代码,以在Node.js v8.11.3中运行。

首先,确保安装了Babel及相关插件:

npm install @babel/core @babel/cli @babel/preset-env

然后,创建.babelrc文件来配置Babel:

{
  "presets": [
    "@babel/preset-env"
  ]
}

test01.js和test02.js文件中的代码不需要做任何更改。

最后,在命令行中使用Babel来运行test02.js

npx babel-node test02.js

Node.js v8.11.3已经在2019年底到达了它的维护期限,推荐升级到较新的Node.js版本以获得更好的语言支持和性能。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    我很抱歉,但你没有提供任何具体的问题,因此我无法提供具体的解决方案。请提供一个具体的问题,我将尽力帮助你解决。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^