Nod*_*Dev 2 javascript module node.js node-modules
我试图module.exports在我的 NodeJS 模块中添加两个。我为我的模块尝试了以下代码:
exports.one = function(data){
const one = data;
};
module.exports = function(msg) {
console.log(one+'::'+msg);
};
Run Code Online (Sandbox Code Playgroud)
下面是index.js 的代码:
var myModule = require('./mymodule.js');
myModule.one('hi');
myModule('bro');
myModule('Dear');
myModule('Dude');
Run Code Online (Sandbox Code Playgroud)
我预计它将把以下数据记录到控制台中:
hi bro
hi Dear
hi Dude
Run Code Online (Sandbox Code Playgroud)
但控制台说:
TypeError: myModule.one is not a function
at Object.<anonymous> (....
Run Code Online (Sandbox Code Playgroud)
请问我该如何解决这个问题?有 Stack Overflow 问题询问如何在 NodeJS 模块中使用多个 module.exports。但答案如下:
exports.one = function (){};
exports.two = function (){};
Run Code Online (Sandbox Code Playgroud)
但如果我使用该代码,我必须使用
myModule.one('hi');
myModule.two('bro');
myModule.two('Dear');
myModule.two('Dude');
Run Code Online (Sandbox Code Playgroud)
代替:
myModule.one('hi');
myModule('bro');
myModule('Dear');
myModule('Dude');
Run Code Online (Sandbox Code Playgroud)
您似乎正在寻找
let one = '';
module.exports = function(msg) {
console.log(data+'::'+msg);
};
module.exports.one = function(data){
one = data;
};
Run Code Online (Sandbox Code Playgroud)
请注意,该exports变量只是对象的别名module.exports,当使用函数覆盖该变量时,您会丢弃其内容。您需要将该one方法放在您的 main 函数中。
| 归档时间: |
|
| 查看次数: |
6166 次 |
| 最近记录: |