使用带导入的JavaScript NPM包

使用带导入的JavaScript NPM包,javascript,node.js,npm,Javascript,Node.js,Npm,我正在使用kahoot api NPM模块(,),它需要使用JavaScript导入。(编辑,这是一个Node.js包。在撰写本文时,我不知道js和Node.js之间的区别,这就是为什么创建这个问题的原因) 文档说明使用以下JavaScript导入脚本导入会话和适配器: 从'kahootapi'导入{Session,Adapters}; 这会抛出一个错误,表示我需要使用相对引用 无法解析模块说明符“kahoot api”。相对引用必须以“/”、“/”或“./”开头 我的文件和文件夹的结构如下:

我正在使用kahoot api NPM模块(,),它需要使用JavaScript导入。(编辑,这是一个Node.js包。在撰写本文时,我不知道js和Node.js之间的区别,这就是为什么创建这个问题的原因)

文档说明使用以下JavaScript导入脚本导入
会话
适配器

从'kahootapi'导入{Session,Adapters};
这会抛出一个错误,表示我需要使用相对引用

无法解析模块说明符“kahoot api”。相对引用必须以“/”、“/”或“./”开头

我的文件和文件夹的结构如下:

  • index.php
  • 节点单元
    • @奥米加博特
      • 卡霍特api
kahootapi
的所有NPM文件都在
kahootapi
文件夹中

我修改了JavaScript代码以使用相对引用,如下所示

import{Session,Adapters}来自'/node_modules/@omegaboot/kahoot-api/';
没有抛出错误,但是导入的两条语句
Session
Adapters
不可用,并且仍然未定义

import{Session,Adapters}来自'/node_modules/@omegaboot/kahoot-api/';
const session=新会话('000000');
session.openSocket()//连接
.然后(套接字=>{
constplayer=newadapters.player(socket);//创建player类
player.join('test')//以名称加入
.然后(()=>{
console.log('Success!');
});
});
kahootapi
文件夹中有多个JavaScript文件,我已经尝试将每个JavaScript文件包含在JavaScript导入中,但没有效果

另外,我正在使用
index.php
中带有属性
type=“module”
标记的代码,否则会引发以下错误:

无法在模块外部使用导入语句


看起来该文档是错误的,因为它基于一个旧的包

您应该像这样安装它:

yarn add @omegaboot/kahoot-api

如果您有webpack(我看到您在php中使用它),那么使用导入

import { Session, Adapters } from '@omegaboot/kahoot-api';
否则使用需要

const { Session, Adapters } = require("@omegaboot/kahoot-api")

看起来该文档是错误的,因为它基于一个旧的包

您应该像这样安装它:

yarn add @omegaboot/kahoot-api

如果您有webpack(我看到您在php中使用它),那么使用导入

import { Session, Adapters } from '@omegaboot/kahoot-api';
否则使用需要

const { Session, Adapters } = require("@omegaboot/kahoot-api")

当我尝试模块
@omegaboot/kahootapi
时,这对我很有效

因为nodejs不支持import语句,如果不使用任何绑定器,则必须使用
require
方法

const{
一场
适配器
}=需要(“@omegaboot/kahoot api”);
const session=新会话('000000');
session.openSocket()//连接
.然后(套接字=>{
constplayer=newadapters.player(socket);//创建player类
player.join('test')//以名称加入
.然后(()=>{
console.log('Success!');
});
});

当我尝试模块
@omegaboot/kahoot api
时,这对我很有效

因为nodejs不支持import语句,如果不使用任何绑定器,则必须使用
require
方法

const{
一场
适配器
}=需要(“@omegaboot/kahoot api”);
const session=新会话('000000');
session.openSocket()//连接
.然后(套接字=>{
constplayer=newadapters.player(socket);//创建player类
player.join('test')//以名称加入
.然后(()=>{
console.log('Success!');
});
});
IDIDK此处(软件包的作者)

@omegaboot/kahoot api
不是人们应该使用的版本。该软件包使用一些硬编码的默认值,以便与我们的Omegabot.com构建过程更容易集成

“普通”kahoot api包将由第三方使用,尽管它一点也没有更新。如果有什么东西坏了,请在github页面上打开一个问题,我一定会看一看。

IDIDK here(软件包的作者)

@omegaboot/kahoot api
不是人们应该使用的版本。该软件包使用一些硬编码的默认值,以便与我们的Omegabot.com构建过程更容易集成


“普通”kahoot api包将由第三方使用,尽管它一点也没有更新。如果有什么东西坏了,请在github页面上打开一个问题,我一定会看一看。

您正在使用webpack吗?因为
import
语句在nodejs中不直接支持。@ajitkumar我不知道什么是网页包。我刚刚用npm安装安装了npm包。如果你没有使用任何js捆绑包,那么你应该使用
require('module-name')
而不是
import
语句。我认为正确的导入语句应该是:
import{Session,Adapters}from'@omegaboot/kahootapi'@PatrickHund这只会导致
无法解析模块说明符“@omegaboot/kahootapi”。相对引用必须以“/”、“/”或“./”开头。是否使用webpack?因为
import
语句在nodejs中不直接支持。@ajitkumar我不知道什么是网页包。我刚刚用npm安装安装了npm包。如果你没有使用任何js捆绑包,那么你应该使用
require('module-name')
而不是
import
语句。我认为正确的导入语句应该是:
import{Session,Adapters}from'@omegaboot/kahootapi'@PatrickHund这只会导致
无法解析模块说明符“@omegaboot/kahootapi”。相对引用必须以“/”、“/”或“./”
开头。我发现
解析模块说明符“@omegaboot/kahoot api”失败。相对引用必须以“/”、”开头。