【问题标题】:MongoDB throwing error Module not found: 'module'MongoDB 抛出错误找不到模块:“模块”
【发布时间】:2017-03-02 19:01:40
【问题描述】:

我在 localhost:27017 上设置了 Mongo db,并尝试从我的应用程序连接到它,该应用程序通过 Mongoose 使用 Webpack。我将 Mongoose 作为一个包安装。这是我的代码:

import mongoose from 'mongoose';
var db = mongoose.connect('mongodb://localhost:27017/music-app');

mongoose.connection.once('connected', function() {
    console.log("Connected to database")
});

我很确定我正确地遵循了文档,但它引发了以下编译错误:

Error in ./~/mongoose/~/mongodb/~/mongodb-core/~/require_optional/~/resolve-from/index.js
Module not found: 'module' in C:\Users\new\Desktop\Development Projects\music-app\node_modules\mongoose\node_modules\mongodb\node_modules\mongodb-core\node_modules\require_optional\node_modules\resolve-from

控制台还有另一个错误:

webpackHotDevClient.js:216 Error in ./~/mongoose/~/mongodb/lib/mongo_client.js
Module not found: 'dns' in C:\Users\new\Desktop\Development Projects\music-app\node_modules\mongoose\node_modules\mongodb\lib

 @ ./~/mongoose/~/mongodb/lib/mongo_client.js 12:10-24

任何人以前见过这个并知道如何解决它?我可能需要在节点中安装其他软件包吗?

【问题讨论】:

    标签: mongodb mongoose webpack


    【解决方案1】:

    此错误是因为您尝试从浏览器使用mongodb,因为create-react-app 是前端应用程序。 您应该使用后端服务器并从那里使用 mongodb。

    您可以查看这个具有nodejs 服务器和create-react-app 前端的完整堆栈回购。 https://github.com/fullstackreact/food-lookup-demo

    【讨论】:

      【解决方案2】:

      那是因为 Webpack 无法静态分析 mongoose/lib/drivers/index.js 中的 if (typeof window === 'undefined')

      解决办法如下:

      webpackConfig.plugins = [
      ...,
      new webpack.DefinePlugin({
      'typeof window': "\"object\""
      }),
      ...
      ]
      
      Also, if you get error messages regarding mongoose, check out below configurations.
      
      npm install node-loader --save-dev
      npm install require_optional --save-dev
      npm install module --save-dev
      
      webpack.config.js
      
      const webpackConfig = {
      name : 'client',
      target : 'web',
      devtool : config.compiler_devtool,
      resolve : {
      root : paths.client(),
      extensions : ['', '.js', '.jsx', '.json', '.coffee', '.node']
      },
      node: {
      fs: 'empty',
      net: 'empty',
      tls: 'empty'
      },
      module : {}
      }
      
      // ------------------------------------
      // Loaders
      // ------------------------------------
      // JavaScript / JSON
      
      webpackConfig.module.loaders = [{
      test : /\.(js|jsx)$/,
      exclude : /node_modules\/(?!(lodash-es)\/).*/,
      loader : 'babel',
      query : config.compiler_babel
      }, {
      test : /\.json$/,
      loader : 'json'
      }, {
      test: /\.coffee$/,
      loader: 'coffee-loader',
      exclude: /node_modules|lib/
      }, {
      test: /\.node$/,
      loader: 'node-loader'
      }]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-11
        • 2018-02-26
        • 2016-01-27
        • 2021-11-22
        • 1970-01-01
        • 1970-01-01
        • 2018-11-26
        • 2017-12-05
        相关资源
        最近更新 更多