javascript - ES6 আমদানি করার সময় "আনকাচড সিনট্যাক্স এরিয়ার: কোনও মডিউলের বাইরে আমদানি বিবৃতি ব্যবহার করতে পারে না"



ecmascript-6 arcgis (1)

দেখে মনে হচ্ছে ত্রুটির কারণগুলি:

1) আপনি বর্তমানে dist ডিরেক্টরিতে বিল্ট ফাইলের পরিবর্তে src ডিরেক্টরিতে উত্স ফাইলটি লোড করছেন (আপনি এখানে dist বিতরণকারী ফাইলটি দেখতে পারেন)) এর অর্থ হ'ল আপনি একটি আনলটার্ডড / আনবান্ডেলড অবস্থায় নেটিভ সোর্স কোডটি ব্যবহার করছেন যা নিম্নলিখিত ত্রুটির দিকে পরিচালিত করে: Uncaught SyntaxError: Cannot use import statement outside a module । প্যাকেজটি বান্ডিল তৈরি করতে রোলআপ ব্যবহার করছে বলেই এটি বান্ডিল সংস্করণ ব্যবহার করে ঠিক করা উচিত।

২) আপনি Uncaught ReferenceError: ms is not defined পাওয়ার কারণ Uncaught ReferenceError: ms is not defined ত্রুটি নয় কারণ মডিউলগুলি Uncaught ReferenceError: ms is not defined এবং আপনি যেহেতু নেটিভ মডিউলগুলি ব্যবহার করে লাইব্রেরিটি লোড করছেন, তাই ms বিশ্বব্যাপী সুযোগে নেই এবং সুতরাং নিম্নলিখিতটিতে অ্যাক্সেসযোগ্য নয় স্ক্রিপ্ট ট্যাগ

দেখে মনে হচ্ছে window ms সংজ্ঞায়িত করার জন্য আপনার এই ফাইলটির dist সংস্করণটি লোড করতে সক্ষম হওয়া উচিত। এটি কীভাবে করা যায় তার উদাহরণ দেখতে লাইব্রেরি লেখকের কাছ থেকে এই উদাহরণটি দেখুন।

আমি আরকিজিএস জেএসপিআই ৪.১২ ব্যবহার করছি এবং মানচিত্রে সামরিক প্রতীক আঁকতে স্থানিক ইলিউশন ব্যবহার করতে চাইছি।

আমি যখন স্ক্রিপ্টে milsymbol.js যুক্ত করি, কনসোল ত্রুটি ফিরে আসে Uncaught SyntaxError: Cannot use import statement outside a module , তাই আমি স্ক্রিপ্টে type="module" করি, এটি Uncaught ReferenceError: ms is not defined

আমার কোডটি এখানে:

<link rel="stylesheet" href="https://js.arcgis.com/4.12/esri/css/main.css">
<script src="https://js.arcgis.com/4.12/"></script>
<script type="module" src="milsymbol-2.0.0/src/milsymbol.js"></script>

<script>
        require([
          "esri/Map",
          "esri/views/MapView",
          "esri/layers/MapImageLayer",
          "esri/layers/FeatureLayer"
        ], function (Map, MapView, MapImageLayer, FeatureLayer) {

            var symbol = new ms.Symbol("SFG-UCI----D", { size: 30 }).asCanvas(3);
            var map = new Map({
                basemap: "topo-vector"
            });

            var view = new MapView({
                container: "viewDiv",
                map: map,
                center: [121, 23],
                zoom: 7
            });
        });
    </script>

সুতরাং, আমি type="module" যুক্ত করব কিনা, সর্বদা ত্রুটি রয়েছে। তবে স্পেসিয়াল ইলিউশনগুলির অফিসিয়াল ডকুমেন্টে, স্ক্রিপ্টে কোনও type="module" । আমি এখন সত্যিই বিভ্রান্ত হয়ে পড়েছি, টাইপটি না যুক্ত করে তারা কীভাবে এটি পরিচালনা করতে পারে?

milsymbol.js

import { ms } from "./ms.js";

import Symbol from "./ms/symbol.js";
ms.Symbol = Symbol;

export { ms };




arcgis-js-api