Browserify - 从同一文件中提取功能

时间:2015-06-27 21:33:07

标签: javascript browserify

我正在使用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并且它永远不会开始播放音乐。

我需要做些什么才能让它发挥作用?我试着查找主题,但我找不到一个提到多个功能。

1 个答案:

答案 0 :(得分:1)

我认为如果你想引用一个对象中的另一个函数(并且你没有让一个类没有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;