使用带导入的JavaScript NPM包
我正在使用kahoot api NPM模块(,),它需要使用JavaScript导入。(编辑,这是一个Node.js包。在撰写本文时,我不知道js和Node.js之间的区别,这就是为什么创建这个问题的原因) 文档说明使用以下JavaScript导入脚本导入使用带导入的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”。相对引用必须以“/”、“/”或“./”开头 我的文件和文件夹的结构如下:
会话
和适配器
:
从'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”失败。相对引用必须以“/”、”开头。