首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误[ERR_MODULE_NOT_FOUND]:找不到模块(类型记录/TypeOrm)

错误[ERR_MODULE_NOT_FOUND]:找不到模块(类型记录/TypeOrm)
EN

Stack Overflow用户
提问于 2021-06-10 14:28:36
回答 1查看 226关注 0票数 0

我不明白为什么它不起作用,我只是尝试使用带有类型记录/ TypeOrm的实体打印我的数据库的内容。

主文件:

代码语言:javascript
复制
import { createConnection, getManager ,getConnectionOptions } from 'typeorm';
//import {ReleaseController} from "./controller/ReleaseController.js";
//import { attachControllers } from '@decorators/express';
import express from "express";
import { createExpressServer } from 'routing-controllers';
import "reflect-metadata";

import { Release } from "./entity/Release";

const connectionOptions = await getConnectionOptions();

console.log(connectionOptions)

await createConnection(connectionOptions).then(async connection => {

  const entityManager = getManager();   
  let releases        = await entityManager.find(Release);

  console.log("All releases from the db: ", releases);

}).catch(error => console.log(error));

const app = createExpressServer({
  //controllers: [ReleaseController], // we specify controllers we want to use
});

app.listen(3000);

实体发布:

代码语言:javascript
复制
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";

@Entity()
export class Release {

    @PrimaryGeneratedColumn()
    release_id: number;

    @Column({ type: 'date' })
    date: string;

    @Column()
    name: string;

}

TS配置:

代码语言:javascript
复制
  {
    "compilerOptions": {
        "module": "esnext",
        "moduleResolution": "node",
        "target": "esnext",
         
        "esModuleInterop": true,
        "noImplicitAny": true,
        "sourceMap": false,
        "allowJs": false,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "baseUrl": ".",
            "paths": {
                "*": ["node_modules/*"]
            }
    },
    "include": [ "src/**/*"],
    "logging": true,
    "logger": "file",
}

输出错误:

代码语言:javascript
复制
 node --trace-warnings .

node:internal/process/esm_loader:74
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/home/jp/eclipse-workspace/SingleCellSignal/src/entity/Release' imported from /home/jp/eclipse-workspace/SingleCellSignal/src/singlecellsignal.js
    at new NodeError (node:internal/errors:363:5)
    at finalizeResolution (node:internal/modules/esm/resolve:307:11)
    at moduleResolve (node:internal/modules/esm/resolve:742:10)
    at Loader.defaultResolve [as _resolve] (node:internal/modules/esm/resolve:853:11)
    at Loader.resolve (node:internal/modules/esm/loader:89:40)
    at Loader.getModuleJob (node:internal/modules/esm/loader:242:28)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:73:40)
    at link (node:internal/modules/esm/module_job:72:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}
EN

回答 1

Stack Overflow用户

发布于 2021-06-14 14:46:47

我真的不明白。

节点--跟踪-警告-未处理-拒绝=警告-实验-json-模块-实验-模块-模块-解析=节点./dist/singlecellsignal.js

代码语言:javascript
复制
(node:38717) UnhandledPromiseRejectionWarning: Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/jp/eclipse-workspace/SingleCellSignal/dist/entity/Release.js
require() of ES modules is not supported.
require() of /home/jp/eclipse-workspace/SingleCellSignal/dist/entity/Release.js from /home/jp/eclipse-workspace/SingleCellSignal/node_modules/typeorm/util/DirectoryExportedClassesLoader.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename Release.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/jp/eclipse-workspace/SingleCellSignal/package.json.

    at new NodeError (node:internal/errors:363:5)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1126:13)
    at Module.load (node:internal/modules/cjs/loader:989:32)
    at Function.Module._load (node:internal/modules/cjs/loader:829:14)
    at Module.require (node:internal/modules/cjs/loader:1013:19)
    at require (node:internal/modules/cjs/helpers:93:18)
    at /home/jp/eclipse-workspace/SingleCellSignal/node_modules/typeorm/util/DirectoryExportedClassesLoader.js:42:39
    at Array.map (<anonymous>)
    at Object.importClassesFromDirectories (/home/jp/eclipse-workspace/SingleCellSignal/node_modules/typeorm/util/DirectoryExportedClassesLoader.js:42:10)
    at ConnectionMetadataBuilder.buildEntityMetadatas (/home/jp/eclipse-workspace/SingleCellSignal/node_modules/typeorm/connection/ConnectionMetadataBuilder.js:51:160)
    at emitUnhandledRejectionWarning (node:internal/process/promises:190:15)
    at processPromiseRejections (node:internal/process/promises:238:9)
    at processTicksAndRejections (node:internal/process/task_queues:97:32)
(node:38717) Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /home/jp/eclipse-workspace/SingleCellSignal/dist/entity/Release.js
require() of ES modules is not supported.
require() of /home/jp/eclipse-workspace/SingleCellSignal/dist/entity/Release.js from /home/jp/eclipse-workspace/SingleCellSignal/node_modules/typeorm/util/DirectoryExportedClassesLoader.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename Release.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from /home/jp/eclipse-workspace/SingleCellSignal/package.json.

    at new NodeError (node:internal/errors:363:5)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1126:13)
    at Module.load (node:internal/modules/cjs/loader:989:32)
    at Function.Module._load (node:internal/modules/cjs/loader:829:14)
    at Module.require (node:internal/modules/cjs/loader:1013:19)
    at require (node:internal/modules/cjs/helpers:93:18)
    at /home/jp/eclipse-workspace/SingleCellSignal/node_modules/typeorm/util/DirectoryExportedClassesLoader.js:42:39
    at Array.map (<anonymous>)
    at Object.importClassesFromDirectories (/home/jp/eclipse-workspace/SingleCellSignal/node_modules/typeorm/util/DirectoryExportedClassesLoader.js:42:10)
    at ConnectionMetadataBuilder.buildEntityMetadatas (/home/jp/eclipse-workspace/SingleCellS

ignal/node_modules/typeorm/connection/ConnectionMetadataBuilder.js:51:160)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67923211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档