簡體   English   中英

在 express app.js 中需要 mongoose 的所有 model

[英]require all model of mongoose in express app.js

在我的 express 應用程序的 app.js 中,每次創建 model 時,我總是必須包含 model

require('./models/Users')
require('./models/Projects')

有沒有辦法避免這種情況? 類似require('./models/*)東西?

使用本機nodejs ,您可以讀取directorydynamically加載/需要模塊。

const fs = require("fs");
const path = require("path");
const models = fs.readdirSync("./models/");
models.forEach((dir) => {
  if (fs.statSync(dir).isFile) require(path.join("./models/", dir));
});

用途:

const getModels = (dir) => {
  return fs
    .readdirSync(dir)
    .filter((file) => fs.statSync(file).isFile)
    .map((file) => require(path.join("./models/", file)));
};
module.exports ={getModels}

// 如何使用

const models = getModels("./models/")

使用glob獲取模型路徑中的所有文件

var glob = require( 'glob' )
  , path = require( 'path' );

glob.sync( './models/**/*.js' ).forEach( function( file ) {
  require( path.resolve( file ) );
});

創建一個單獨的文件,其中將包含所有導出的模塊文件,並僅導出對象並在需要時使用它,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM