【问题标题】:unable to call a local module from an application file in node.js无法从 node.js 中的应用程序文件调用本地模块
【发布时间】:2020-11-12 16:48:52
【问题描述】:

我是 node.js 的初学者。

我正在尝试调用保存在 C:\wks\guru99 中的一个非常基本的添加模块,文件名:Node_03_addition.js。调用应用程序也保存在同一位置,名称为:app.js

加法模块:

var exports = module.exports = {};
exports.addNumber=function(a,b)
{
return a+b;
};

申请文件:

var Addition = require('/.Node_03_addition.js');

console.log(Addition.addNumber(1,2));

当我使用 node app.js 在 cmd 中运行应用程序时

我收到未找到模块的错误消息。有人可以帮我解决我哪里出错了。

c:\wks\guru99>node app.js
internal/modules/cjs/loader.js:969
  throw err;
  ^

Error: Cannot find module '/.Node_03_addition.js'
Require stack:
- c:\wks\guru99\app.js
[90m    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)[39m
[90m    at Function.Module._load (internal/modules/cjs/loader.js:842:27)[39m
[90m    at Module.require (internal/modules/cjs/loader.js:1026:19)[39m
[90m    at require (internal/modules/cjs/helpers.js:72:18)[39m
    at Object.<anonymous> (c:\wks\guru99\app.js:1:16)
[90m    at Module._compile (internal/modules/cjs/loader.js:1138:30)[39m
[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)[39m
[90m    at Module.load (internal/modules/cjs/loader.js:986:32)[39m
[90m    at Function.Module._load (internal/modules/cjs/loader.js:879:14)[39m
[90m    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)[39m {
  code: [32m'MODULE_NOT_FOUND'[39m,
  requireStack: [ [32m'c:\\wks\\guru99\\app.js'[39m ]
}

【问题讨论】:

  • app.js 相关的文件.Node_03_addition.js 在哪里?而且,你真的有一个文件名以. 开头的文件吗?或许,应该是require('./Node_03_addition.js');
  • 您的出口申报是问题所在。查看答案中的建议

标签: javascript node.js npm web-applications


【解决方案1】:

建议

// Node_03_addition.js
// Declare your function
const addNumber = function(a,b) {
    return a + b;
};

// Export your function
module.exports = {
    addNumber
};

// Application-File.js
// Import your module
const Addition = require('./Node_03_addition');

// Use it
console.log(Addition.addNumber(1,2)); // 3

【讨论】:

    【解决方案2】:

    加法模块:

    var exports = module.exports = {};
    exports.addNumber=function(a,b)
    {
    return a+b;
    };
    

    申请文件:

    var Addition = require('./Node_03_addition.js');
    
    console.log(Addition.addNumber(1,2));
    

    【讨论】:

    • 你误导了文件路径,添加是模块而不是函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2014-09-16
    • 1970-01-01
    • 2019-06-29
    • 1970-01-01
    • 2021-09-08
    • 2019-07-05
    相关资源
    最近更新 更多