Javascript NodeJS ES6导入找不到模块
我正在将一些代码重构为ES6导入模式。我正在使用节点13.7.0 我的Javascript NodeJS ES6导入找不到模块,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,我正在将一些代码重构为ES6导入模式。我正在使用节点13.7.0 我的package.json文件的顶部有“type”:“module”,但是当我运行脚本时,我得到 错误:找不到模块 /Users/otaviobonder/webstorprojects/newTE/back/src/lib/Queue imported 来自/Users/otaviobonder/websprojects/newTE/back/src/server.js 我像节点一样运行脚本--需要dotenv/config
package.json
文件的顶部有“type”:“module”
,但是当我运行脚本时,我得到
错误:找不到模块
/Users/otaviobonder/webstorprojects/newTE/back/src/lib/Queue imported
来自/Users/otaviobonder/websprojects/newTE/back/src/server.js
我像节点一样运行脚本--需要dotenv/config src/server.js
我不明白为什么。我正在从“/lib/queue”导入queue
作为导入队列
在server.js
中,而我的Queue.js
文件有一个默认导出:
import Queue from "bull";
import redisConfig from "../config/redis";
import * as Sentry from "@sentry/node";
import * as jobs from "../jobs";
Sentry.init({ dsn: process.env.SENTRY_DSN });
const queues = Object.values(jobs).map(job => ({
bull: new Queue(job.key, { redis: redisConfig }),
name: job.key,
handle: job.handle,
options: job.options
}));
export default {
queues,
add(name, data) {
const queue = this.queues.find(queue => queue.name === name);
return queue.bull.add(data, queue.options);
},
empty(name) {
const queue = this.queues.find(queue => queue.name === name);
return queue.bull.empty();
},
process() {
return this.queues.forEach(queue => {
queue.bull.process(queue.handle);
queue.bull.on("failed", (job, err) => {
Sentry.captureException(err);
});
});
}
};
非常感谢您的帮助,因为我已经阅读了许多关于node和ES6的文章,但找不到解决方案
谢谢 使用
从“/lib/Queue.js”导入队列代码>,包括文件extension@Bergi,没有工作me@SunilGarg您可能希望了解其中包括文件夹结构、构建配置、所有相关模块及其导入
和导出
声明,以及确切的错误消息。Hei@Bergi这是一个有数千个视图的问题。将您的评论更改为答案,以便我可以标记为解决方案