导 言
您可以使用此库, 而不冲突x
同时支持 Esm 和 cjs
* 安装
需要16.6.0或更新的节点.js版本
npm install @discordx/importer
yarn add @discordx/importer
使用量
如果您使用此代码与 Esm 或 ejs, 它会告诉你的环境.
import { isESM } from "@discordx/importer";
console.log(`isESM: ${isESM()}`);
解析模糊路径
const resolvedPaths = await resolve(`${__dirname}/commands/**.js`);
console.log(resolvedPaths);
导入 glob 路径
以下是可与 commonjs 或 esm 模块使用的例子
模块 - 普通JS
importx(`${__dirname}/commands/**.js`).then(() =>
console.log("All files imported"),
);
模块 - ESNext
记住:在埃斯姆, __dirname 没有定义,所以这里是一个工作
import { dirname, importx } from "@discordx/importer";
const __dirname = dirname(import.meta.url);
importx(`${__dirname}/commands/**.js`).then(() =>
console.log("All files imported"),
);
组合 - 普通JS 和 ESNext
如果您正在创建您自己的库的模块或扩展, 您可以设置为基于用户模块的自动导入路径
import { dirname, importx, isESM } from "@discordx/importer";
const folder = isESM() ? dirname(import.meta.url) : __dirname;
importx(`${folder}/commands/**.js`).then(() =>
console.log("All files imported"),
);
使用相对路径
您可以使用相对路径, 通过删除 DIRNAME 来写入代码更为方便
import { importx } from "@discordx/importer";
// relative path start from root folder
importx("./tests/commands/**.js").then(() => console.log("All files imported"));
页:1
需要帮忙吗?
- 检查常见问题
- 检查示例
- 在社区里问 Discord 服务器