我正在上lynda.com上的node.js课程,无法找到导致“错误:找不到模块”的原因。从所有内容我都可以看出package.json中有flight模块。
到目前为止,一切都已经正常进行,因此我知道node.js已安装并正在正确运行。我运行此文件的方式是在命令行中键入“ node app.js”。同样,所有文件都在同一文件夹中。
这是控制台日志:
C:\Users\Jonathan\Desktop\flight>node app.js
module.js:340
throw err;
^
Error: Cannot find module './flight'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\Users\Jonathan\Desktop\flight\app.js:1:76)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
C:\Users\Jonathan\Desktop\flight>
这是代码。
Package.json文件
{
"name": "flight",
"version": "1.0.0",
"description": "a module for keeping track of a flight",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "JBaxter",
"license": "ISC"
}
index.js文件
var number, origin, destination;
exports.setNumber = function (num){
number = num;
};
exports.setOrigin = function (o){
origin = o;
};
exports.setDestination = function (d){
destination = d;
};
exports.getInfo = function() {
return {
number: number,
origin: origin,
destination: destination
};
};
app.js文件
var flight = require('./flight');
flight.setOrgin('LAX');
flight.setDestination('DCA');
flight.setNumber(462);
console.log(flight.getInfo());
任何帮助都很棒。我以为package.json文件中的名称是您的模块,但也许我不正确。提前致谢。
在您的情况下,“ ./ flight”不会评估为index.js。
如果创建子目录:
flight
- index.js
那么您可以require(“ ./ flight”)并将其评估为“ ./flight/index.js”。
就您而言,您可以做的最简单的事情是:
require("./index.js");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句