我正在使用browserify来编写我的JavaScript,我很难记住该怎么做。

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

module.exports = {
        start: function() {
            console.log('Logging');
            module.music(this, 'game-bg.mp3');
        },
        music: function(arg, soundfile) {
            console.log('Playing music...');
            if (arg.mp3) {
                if(arg.mp3.paused) arg.mp3.play();
                else arg.mp3.pause();
            } else {
                arg.mp3 = new Audio(soundfile);
                arg.mp3.play();
            }
        }
};


运行该命令时,我得到Uncaught TypeError: module.music is not a function,并且它从不开始播放音乐。

我必须怎么做才能使其正常工作?我尝试查找主题,但是找不到提及多个功能的主题。

最佳答案

我认为,如果您要引用对象中的另一个函数(并且您没有创建类,那么就不用this),那么将您要导出的内容分配给变量,然后导出该变量将更清晰,更容易。像这样:

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

var player = {
        start: function() {
            console.log('Logging');
            player.music(this, 'game-bg.mp3');
        },
        music: function(arg, soundfile) {
            console.log('Playing music...');
            if (arg.mp3) {
                if(arg.mp3.paused) arg.mp3.play();
                else arg.mp3.pause();
            } else {
                arg.mp3 = new Audio(soundfile);
                arg.mp3.play();
            }
        }
};

module.exports = player;

10-06 11:47