无法导入模块。不断告诉我找不到模块

时间:2020-04-05 04:15:49

标签: javascript node.js express

Utils文件夹中的Games.js文件

const unirest = require('unirest')

const getGame = (g) => {
    unirest.get('https://rawg-video-games-database.p.rapidapi.com/games/' + g)
    .header("X-RapidAPI-Key", '3482457f4amsh7fbc73f82300707p1955f8jsn4397e9828211')
    .end((result) => {
      let gameDesc = result.body.description.replace(/(<([^>]+)>)/ig,"")
      console.log(gameDesc)
      const game = {
        name: result.body.name,
        desc: gameDesc,
        image: result.body.background_image
      }
    })
}
module.exports = getGame
项目根目录中的

Index.js文件

var express = require('express');
var router = express.Router();
const axios = require('axios')
const unirest = require('unirest')
const getGame = require('../utils/games')

var reqData = unirest("GET", "https://rawg-video-games-database.p.rapidapi.com/games")

/* GET home page. */
router.get('/', function(req, res, next) {
  const header = {
    title: 'Game Changer',
    subtitle: 'My personal review on games i\'ve played'
  }

  // gameAPI(req.query)
  // res.render('index', {header})
  console.log(gameInfo.name)
  res.render('index', {header, gameInfo})
});

router.post('/', (req, res) => {
  // console.log('Search Value', req.body.searchValue)
  let gameSearched = req.body.searchValue
  gameSearched = gameSearched.toLowerCase().replace(/\s/g, '-')

  getGame(gameSearched)
        // replace(/(<([^>]+)>)/ig,"")
      const header = {
        title: 'Game Changer',
        subtitle: 'My personal review on games i\'ve played'
      }
      res.render('index', {header, game})

})

module.exports = router;

运行代码时,提示未找到错误模块。当我将game.js中的所有代码包含在index.js中时,我的应用程序运行正常,但是我试图将该代码分离到另一个文件中的函数中,然后将其导入index.js并调用该函数。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

文件名可能有问题,因为您写道游戏文件为Games.js,但是在index.js中,您将其称为games。检查您的OS文件系统是否区分大小写;如果是,请检查模块导入。问题可能出在这里。