首页 > 解决方案 > sequelize-hierarchy 未找到

问题描述

我有一个 Nodejs、Express、Sequelize 和 Angular 应用程序,一切正常。我需要使用 sequelize-hierarchy 并且当我运行服务器时出现以下错误:

    internal/modules/cjs/loader.js:969
      throw err;
      ^
    
    Error: Cannot find module 'Sequelize-hierarchy'
    Require stack:
    - D:\Projets\mon-plaisir\src\app\models\index.js
    - D:\Projets\mon-plaisir\serveur-node-postgres\serveur.js
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
        at Function.Module._load (internal/modules/cjs/loader.js:842:27)
        at Module.require (internal/modules/cjs/loader.js:1026:19)
        at require (internal/modules/cjs/helpers.js:72:18)
        at Object.<anonymous> (D:\Projets\mon-plaisir\src\app\models\index.js:7:1)
        at Module._compile (internal/modules/cjs/loader.js:1138:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
        at Module.load (internal/modules/cjs/loader.js:986:32)
        at Function.Module._load (internal/modules/cjs/loader.js:879:14)
        at Module.require (internal/modules/cjs/loader.js:1026:19) {
      code: 'MODULE_NOT_FOUND',
      requireStack: [
        'D:\\Projets\\mon-plaisir\\src\\app\\models\\index.js',
        'D:\\Projets\\mon-plaisir\\serveur-node-postgres\\serveur.js'
      ]
    }

package.json 文件在依赖项中包含 sequelize-hierarchy。

在 node_modules 我有 sequelize-hierarchy 文件夹

在 index.js 文件中:

    const dbConfig = require("../config/db.config");
    
    const Sequelize = require('sequelize');
    require('Sequelize-hierarchy')(Sequelize);
    
    const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD,
      {
          host: dbConfig.HOST,
          dialect: dbConfig.dialect,
          define: {
            freezeTableName: true,
            underscored: false,
            raw: true
          },
    
          pool: {
            max: dbConfig.pool.max,
            min: dbConfig.pool.min,
            acquire: dbConfig.pool.acquire,
            idle: dbConfig.pool.idle
          }
      }
    );
    
    const db = {};
    
    db.Sequelize = Sequelize;
    db.sequelize = sequelize;

感谢您的帮助,因为我花了很多时间,但我找不到解决方案。

标签: node.jssequelize.js

解决方案


似乎一切都很好,但您正在使用大写的“S”来加载sequelize-hierarchy 在 require 中使用小的“sequelize-hierarchy”。

const Sequelize = require('sequelize');
require('sequelize-hierarchy')(Sequelize);

推荐阅读