#javascript #node.js
#javascript #node.js
Вопрос:
Где я ошибаюсь, требуя локального модуля? Ниже приведены мои фрагменты кода для запроса локального модуля. Я поместил game.js файл по следующему пути /public/javascript/game.js принимая во внимание, что app.js помещается по следующему пути /app.js
//game.js
let players = [];
let selectedPlayers = [];
let remainingPlayers = 11;
for(var i=0; i<2; i ){
players.push($(".card > button").eq(i).attr("value"));
}
exports.players = players;
//app.js
const express = require("express");
const bodyParser = require("body-parser");
const mySql = require("mySql");
const game = require("./game");
const app = express();
app.use(express.static("public"));
app.use(bodyParser.urlencoded({extended: true}));
app.set('view engine', 'ejs');
app.get("/play", function(req, res){
res.render("PlayGame");
console.log(game.players);
});
app.listen(process.env.PORT || 3000, function(req, res){
console.log("Listening on port 3000");
});
Когда я запускаю это, я получаю следующую ошибку в своем терминале
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module './game'
Require stack:
- C:UsersakashDesktopFantasyCricketapp.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (C:UsersakashDesktopFantasyCricketapp.js:4:14)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'C:\Users\akash\Desktop\FantasyCricket\app.js' ]
}
Ответ №1:
Они не находятся в одной папке, поэтому ваше требование должно быть: »
const game = require("./public/javascript/game");
Комментарии:
1. Когда я это делаю, я получаю эту ошибку, players.push($(«.card > button»).eq(i).attr(«value»)); ReferenceError: $ не определен в объекте.<анонимный>
2. Итак, теперь ваш модуль загружен правильно. Ошибка заключается в том, что вы пытаетесь использовать jQuery ($), но он не определен.