2017-06-10 17 views

答えて

0

[UPDATE]私は自分自身に同じ質問をしてたhttps://github.com/openlayers/openlayers/issues/5623


を参照してください。 作業リリースがあるまでは、GitHubリポジトリから古いクロージャコンパイラのopenlayers distを使用しても同じことができます。 UMDラッパーを変更する必要があります。 tasks/build.jsを見て、次のパッチを適用するか、自分で変更してください。

@@ -15,19 +15,10 @@ var generateExports = require('./generate-exports'); 
var log = closure.log; 
var root = path.join(__dirname, '..'); 

-var umdWrapper = ';(function (root, factory) {\n' + 
- ' if (typeof exports === "object") {\n' + 
- ' module.exports = factory();\n' + 
- ' } else if (typeof define === "function" && define.amd) {\n' + 
- ' define([], factory);\n' + 
- ' } else {\n' + 
- ' root.ol = factory();\n' + 
- ' }\n' + 
- '}(this, function() {\n' + 
- ' var OPENLAYERS = {};\n' + 
- ' %output%\n' + 
- ' return OPENLAYERS.ol;\n' + 
- '}));\n'; 
+var umdWrapper = 'var OPENLAYERS = {};\n' + 
+ '%output%\n' + 
+ '\n' + 
+ 'export default OPENLAYERS.ol;'; 

var version; 

変更した後、あなたは

make install 
make build 

を実行することができますし、結果のファイルのビルド/ ol.jsは、インポートするすべてのコードが含まれます。

<script type="module"> 
import ol from './ol.js'; // ← url to ol.js 

// do classic ol stuff here :) 
</script> 

しかし、それ以外のリリースはまだありません。


モジュラーアプローチを採用したい場合は、 Openlayersが必要とするすべてのモジュールがES6モジュールとして書かれるか、ES6ビルドが終了するまで待たなければなりません。以下のようにあなたは、URL経由でインポートすると、あなたがものを行うことができOpenLayersをソースを変換することができます:私は、OpenLayersを、最後にそれを行うだろうかわからない

import olMap from './ol/map.js'; 
import olTile from './ol/tile/tile.js'; // and so on... 

後のアプローチは、サーバー上の何百もの要求を引き起こす可能性が発生します。 ..それがバンドルされたものより良い解決策であるかどうかは分かりません。

関連する問題