私はJavascriptのオブジェクト指向の機能を研究していますが、私は "モジュールパターン"を見ています。私は別のファイルから呼び出したい自己実行機能を持っていますが、エラーが発生しています。ここで別のファイルから自己実行関数を呼び出す方法
は、自己の実行モジュールです:
var basketModule = (function() {
var basket = [];
function doSomethingPrivate() {
//...
}
// Return an object exposed to the public
return {
// Add items to our basket
addItem: function(values) {
basket.push(values);
},
// Get the count of items in the basket
getItemCount: function() {
return basket.length;
},
};
})();
私は別のファイルからこれを使用しようとしているがRun.js
と呼ばれる:
var basketModule = require("./basketModule");
basketModule.addItem({
item: "bread",
price: 0.5
});
console.log(basketModule.getItemCount());
私はこのnode Run.js
を実行すると、私はエラーを取得します
basketModule.addItem is not a function.
このようにbasketModuleへの呼び出しを追加しようとしました:basketModule();
の直後に必要ですが、結果は
TypeError: basketModule is not a function.
私は何が欠けていますか?
console.log(basketModule.getItemCount());
コードをエクスポートする必要があります: 'module.exports = basketModule'。 https://nodejs.org/api/modules.html#modules_module_exports –
あなたのコードでは、 'basketModule'は無名関数では定義できません。 – nmnsud