Node.js“错误:找不到模块”

乔·巴克斯特

我正在上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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章