###前提・実現したいこと
nodejsで自作モジュールを作成し、module.exportsをファイルの先頭に
記述しようとしています。
module.exportsをファイルの末尾に記述する場合はうまく動くのですが、
その記述をファイルの先頭に持ってきたらエラーが発生してしまいました。
module.exportsをファイルの先頭に記述する場合、どのように修正すればよいでしょうか?
間違っていた原因は何でしょうか?
node.jsのバージョン :v4.6.1
OSのバージョン :fedora 24 x64
###試したこと
課題に対してアプローチしたことを記載してください
main.js:(module.exportsをsub.jsの末尾に記述した場合)
var wkcls = require('./sub.js');
objA = new wkcls('test desu');
objA.m01();
sub.js(module.exportsをsub.jsの末尾に記述した場合)
var cls = function(arg){
this.p01 = arg;
}
cls.prototype.m01 = function(){
console.log(this.p01);
}
module.exports = cls;
実行結果(module.exportsをsub.jsの末尾に記述した場合)
node main.js
test desu
(→うまく動きました。)
main.js:(module.exportsをsub.jsの先頭に記述した場合)
var wkcls = require('./sub.js');
objA = new wkcls('test desu');
objA.m01();
sub.js(module.exportsをsub.jsの先頭に記述した場合)
module.exports = cls;
var cls = function(arg){
this.p01 = arg;
}
cls.prototype.m01 = function(){
console.log(this.p01);
}
実行結果(module.exportsをsub.jsの先頭に記述した場合)
node main.js
/home/xxx/main.js:3
objA = new wkcls('test desu');
^
TypeError: wkcls is not a function
at Object.<anonymous> (/home/xxx/main.js:3:8)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:974:3
(→うまく動きませんでした。)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/22 03:35
2016/11/27 20:37