无法使用 node.js 中的应用程序从扩展模块调用基本模块
Unable to call a base module from an extended module using Application in node.js
您好,我正在尝试使用中间的扩展模块从应用程序文件调用基本模块。
基本模块:Basemodule.js
var exports = module.exports = {};
exports.baseModmessage1=function()
{
console.log('Module1:base Module: Message 1')
}
exports.baseModmessage2=function()
{
console.log('Module1:base module: Message 2')
}
扩展模块:Extendedmodule.js
var baseModule = require ('./Basemodule.js');
exports.extendedModule = function()
{
console.log ("This came from extended module function");
function moreMessage()
{
var baseMessage = baseModule
baseMessage.baseModmessage1();
}
}
申请:app.js
var mainCall = require('./Extendedmodule.js');
mainCall.extendedModule();
mainCall.extendedModule.moreMessage();
所有文件都在同一个本地文件夹中。我能够获得扩展模块消息,但在调用基本模块时似乎出现问题。
C:\wks\guru99\L2_extendingmodules>node app.js
This came from extended module function
C:\wks\guru99\L2_extendingmodules\app.js:5
mainCall.extendedModule.moreMessage();
^
TypeError: mainCall.extendedModule.moreMessage is not a function
at Object.<anonymous> (C:\wks\guru99\L2_extendingmodules\app.js:5:25)
at Module._compile (internal/modules/cjs/loader.js:1138:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
moreMessage
在 extendedModule
的主体内声明;它不是正在导出的 extendedModule
函数的 属性,因此无法以您尝试的方式访问。
要么直接导出 moreMessage
,要么在 extendedModule
函数的主体之外定义它,然后将其附加到 extendedModule
:
extendedModule.moreMessage = function () { /* ... */ };
您好,我正在尝试使用中间的扩展模块从应用程序文件调用基本模块。
基本模块:Basemodule.js
var exports = module.exports = {};
exports.baseModmessage1=function()
{
console.log('Module1:base Module: Message 1')
}
exports.baseModmessage2=function()
{
console.log('Module1:base module: Message 2')
}
扩展模块:Extendedmodule.js
var baseModule = require ('./Basemodule.js');
exports.extendedModule = function()
{
console.log ("This came from extended module function");
function moreMessage()
{
var baseMessage = baseModule
baseMessage.baseModmessage1();
}
}
申请:app.js
var mainCall = require('./Extendedmodule.js');
mainCall.extendedModule();
mainCall.extendedModule.moreMessage();
所有文件都在同一个本地文件夹中。我能够获得扩展模块消息,但在调用基本模块时似乎出现问题。
C:\wks\guru99\L2_extendingmodules>node app.js
This came from extended module function
C:\wks\guru99\L2_extendingmodules\app.js:5
mainCall.extendedModule.moreMessage();
^
TypeError: mainCall.extendedModule.moreMessage is not a function
at Object.<anonymous> (C:\wks\guru99\L2_extendingmodules\app.js:5:25)
at Module._compile (internal/modules/cjs/loader.js:1138:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
moreMessage
在 extendedModule
的主体内声明;它不是正在导出的 extendedModule
函数的 属性,因此无法以您尝试的方式访问。
要么直接导出 moreMessage
,要么在 extendedModule
函数的主体之外定义它,然后将其附加到 extendedModule
:
extendedModule.moreMessage = function () { /* ... */ };