跳到主要内容
CNode

《nodejs开发指南》教程中require和exports的问题

社区
Eedge2906发布于 13 年前最后回复 13 年前
234470

按照教程中的代码 hello.js文件

function Hello() { var name; this.setName = function( thyName ){ name = thyName; }; this.sayHello = function(){ console.log( 'Hello ' + name ); }; } module.exports = Hello;

然后是getmodule.js文件

var myModule = require( './hello' ); myModule.setName( 'BYVoid' ); myModule.sayHello();

第一行require到一个空的对像,里面并没有setName和sayHello方法 所以会报错说TypeError:Object #(object)has not method 'setName'

如果用exports.Hello = Hello; 在getmodule.js中会得到一个对像,对像里有一个元素是Hello对像,但Hello对像也是空的

刚学nodejs,google上也搜不到相关的贴子,请大神们帮解惑,敬谢

查看回复

回复 (2)

E
edge2906#213 年前

忘了new了……结贴了,多有叨扰还请见谅

E
edge2906#113 年前

检查了一下源代码,在function Hello{}的大括号}后面没加分号; 加了以后 报错稍微有点变化 现在require到的不是一个空对像了 确实是Hello函数被当成对像取到了 但是还是提示has no method 'setName'

参与回复

登录后即可参与回复。登录