首页 > 解决方案 > 无法导入 javascript 类

问题描述

我不想在 server.js 文件中导入 javascript 类,所以我尝试了:
import Player from './classes/model/Player.js';

问题然后我收到错误:
SyntaxError: Cannot use import statement outside a module

所以我在我的 package.json 中写了这个:
"type": "module",

问题然后我得到错误:
ReferenceError: require is not defined in ES module scope, you can use import instead

我认为这是因为我在 server.js 文件中使用了 require:

const express = require('express');
const http = require('http').Server(express);
const io = require('socket.io')(http, {
    cors: {
        origin: '*'
    },
    pingTimeout: 60000
});

这里的问题是我不知道如何在没有这个 require 语法的情况下使用 socket.io。
所以我尝试使用 require 而不是 import 并且没有像这样的“type”:“module”:
const Player = require('./classes/model/Player.js')

然后我得到错误:
SyntaxError: Unexpected token 'export'

所以我从我的播放器类中删除了导出默认值。
我现在没有收到错误,但我的 Player 常量只是一个空的 json 像这样{}

我不知道该怎么办了...

标签: javascriptclassecmascript-6importrequire

解决方案


推荐阅读