Javascript IIFE 项目间代码共享

Javascript IIFE code sharing between projects

请寻找纯粹的 JavaScript 答案。

使用 IIFE 进行 JavaScript 游戏。实际上是多个网页上的多个游戏。假设有一段共同的代码需要被所有这些游戏使用。比如说,一个 diceroller; 1d20、3d6 等

正确的做法是什么?是否应将 IIFE 全部设置为具有唯一名称的全局?我担心设置为全局(也许我太担心了)。

diceroller 是否需要传递到游戏 IIFE 中?如何正确执行此操作?

我想你想要一个揭示模块模式,而不是 IIFE 模式。

//Revealing Module Pattern (Public & Private) w Public Namespace 'game'
var game = (function() {

    // object to expose as public properties and methods such as game.roll
    var pub = {};

    //game.roll
    pub.roll = function () {
        //do your thing
        return randomIntFromInterval(1,6);
    };

    function randomIntFromInterval(min,max){
        return Math.floor(Math.random()*(max-min+1)+min);
    }

  //API
  return pub;
}());