NodeJS ES6导入找不到模块

时间:2020-02-04 14:05:38

标签: javascript node.js ecmascript-6

我正在将一些代码重构为导入的ES6模式。我正在使用node 13.7.0

我的package.json文件的顶部是"type": "module",但是运行脚本时我会得到

错误:找不到模块 /用户/ otaviobonder / WebstormProjects / newTE / back / src / lib /已导入队列 从/Users/otaviobonder/WebstormProjects/newTE/back/src/server.js

我运行脚本node --require dotenv/config src/server.js

我不明白为什么。我在queue中将import Queue from "./lib/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);
            });
        });
    }
};

感谢任何帮助,因为我已经阅读了许多有关节点和ES6的文章,并且找不到解决方案。

谢谢!

0 个答案:

没有答案