模块化开发js库的常规模式是怎样的

模块化开发js库的常规模式是怎样的?
比如这样一段代码

var map = {
    zoom: 8,
    layer: {
        getLayer: function () {
            // 
        }
    }
}

现在希望通过模块化的方法,先声明一个map全局对象,再在各模块中扩展属性和方法,最终生成一个umd或iife的js文件,如下

(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
    typeof define === 'function' && define.amd ? define(factory) :
    (global.ygmap = factory());
}(this, (function () { 'use strict';

var map = {};
map.zoom = 8;
map.layer.getLayer = function () {
        // 
    }

return map;

})));
阅读 2.1k
2 个回答

如果你有ES6的环境的话你可以使用export default map或者export {map}来导出这个map。
然后在其他文件中用import来引入这个map。
如果你想用AMD方式的模块化的话,建议你去看一下require.js相关的文档

你是在封装openlayers吗?还是哪个地图api?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题