Skip to content

BackerFounder/jvectormap-esm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jvectormap-esm

主要是針對 jvectormap 套件產生出來的變體,將 jvectormap 可以透過 ESM 載入

使用 ESM 來載入的原因:

主要是解決 jquery 找不到 vectorMap 方法的問題,原因如下:

仔細看了一下 node_modules/jquery-jvectormap.js 的檔案,發現裡面的行為滿奇怪的,裡面同時載入了兩個版本的介面的 jVectorMap,但一定要載入到 3+ 的版本,才不會出現 jquery 找不到 vectorMap 的錯誤,如下面 code 所示:

如果單純使用 commonjs 了話,會只引用到 3.1.9 版本所以會出現錯誤(另外一提如果同時支援 amd 與 commonjs 的方式載入了話,根據下面的 code 也能同時載入兩個版本)

這邊改成 esm 的方式,主要是確保載入兩個版本的 code

# line: 184
/**
 * jVectorMap version 3+
 *
 * Copyright 2011-2014, Kirill Lebedev
 *
 */
(function (factory) {
    if ( typeof define === 'function' && define.amd ) {
        // AMD. Register as an anonymous module.
        define(['jquery'], factory);
    } else if (typeof exports === 'object') {
        // Node/CommonJS style for Browserify
        module.exports = factory;
    } else {
        // Browser globals
        factory(jQuery);
    }
}(function ($) {
  .....
  $.fn.vectorMap = function(options) {...}
  .....
}

# line: 254
/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
 * Licensed under the MIT License (LICENSE.txt).
 *
 * Version: 3.1.9
 *
 * Requires: jQuery 1.2.2+
 */
(function (factory) {
    if ( typeof define === 'function' && define.amd ) {
        // AMD. Register as an anonymous module.
        define(['jquery'], factory);
    } else if (typeof exports === 'object') {
        // Node/CommonJS style for Browserify
        module.exports = factory;
    } else {
        // Browser globals
        factory(jQuery);
    }
}(function ($) {.....}

補充說明

  • 目前 jvectormap 只有 backme 後台的轉址功能有使用
  • 不直接 fork jvectormap 而是直接使用該套件輸出的檔案來調整的原因,是因為 jvectormap 是使用 UglifyJS 來打包,但 UglifyJS 本身不支援 es6 的語法,同時也代表不支援 esm,因上述原因才直接針對輸出的檔案調整

About

目前提供給 backme 後台轉址功能使用,因為 backme 前端打包指支援 esm 的引入方式

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages