node 引用文件的问题

文件app.js:

var c1 = require('./c1');

var cc = new c1;
c1.f11();

文件c1.js:

function f1(a, b){
    this.f11 = function(c, d){
        console.log(c);
    }
}

module.exports = f1;

node app.js之后显示 c1.f11 is not a function,为什么?

这里代码的意思和以下代码的意思不一样吗?

function f1(a,b){
    this.f11 = function(c,d){
        alert(c);
    }
}

var vv = new f1;
vv.f11(2, 3);
阅读 3.1k
3 个回答

图片描述

这中间涉及到CMD模块加载的问题,建议先看看文档

另外c1改成这样再试试

function f1(a, b){
    return function(c, d){
        console.log(c);
    }
}

module.exports = f1;

或者

let obj = {
    f11: function(c, d){
        console.log(c);
    }
}
module.exports = obj;

clipboard.png

输出:

clipboard.png

没问题啊


补充:

我靠,哥哥,你自己代码写错了,我就说按你这个思路写的代码没问题,复制你的代码怎么报错了。。。

var c1 = require('./c1');

var cc = new c1;
cc.f11();    // 这里应该是cc不是c1,你的是c1

别粗心啊~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题