html - Javascript ბიბლიოთეკა import-ის გარეშე script ტეგში


შევეცდები შევქმნა ბიბლიოთეკა TypeScript-ის გამოყენებით და მსურს გამოვიყენო სტატიკური მეთოდი, რომელიც მომცემს HTML კონტენტის გენერირების საშუალებას, რომელიც დაბრუნდება REST API გამოძახებით, ნაგულისხმევი პარამეტრების საფუძველზე, რომელსაც მე ვაძლევ ამ ფუნქციას. არის თუ არა ახლა ამის შექმნა არქიტექტურის გამოყენებით, მაგალითად, Repository ნიმუში, შეადგინოს და შემდეგ გამოიყენოთ როგორც ქვემოთ მოცემულ კოდში (JS ფორმატში, რა თქმა უნდა)?

<div id="test"></div>

<script scr="../myLybrary.js"></script>
<script type="module">

    MyLibrary.render({
        param: "test",
        param1: "test",
        param2: "test"
    }, "test")

</script>

ამ მომენტში, რათა შევქმნა ეს სიტუაცია, მე უნდა გამოვიყენო იმპორტი სკრიპტში, სადაც სტატიკური მეთოდის გამოძახება ხდება ამგვარად:

import MyLibrary from './myLybrary.js'

არის რაიმე გზა ამ ბოლო ეტაპისგან თავის აცილებისთვის?

მადლობა ყველას, ვინც მინდა დახმარება გამიწიოს.

პასუხი #1

ამ მომენტში, სიტუაციის შექმნისათვის, მე უნდა გამოვიყენო იმპორტი სკრიპტში, სადაც მდებარეობს სტატიკური მეთოდის გამოძახება ამგვარად:

import MyLibrary from './myLybrary.js'

ეს ძირითადად სწორ გადაწყვეტილება იქნება. უბრალოდ წაშალეთ პირველი script ტეგი, რადგან მასთან ერთად თქვენ დუბლირებულად დატვირთავთ თქვენს ბიბლიოთეკას. ასე რომ, რჩება ჩვენთან:

<div id="test"></div>

<!-- Note: No `script` tag for `myLybrary.js` here. -->
<script type="module">
    import MyLibrary from "./myLybrary.js";

    MyLibrary.render({
        param: "test",
        param1: "test",
        param2: "test"
    }, "test");

</script>

მოდულის ჩატვირთვა შეასრულებს მოდულში არსებულ ზედა დონეზე არსებულ კოდის ხაზებს, ამიტომ თუ myLybrary.js შეიცავს ზედა დონეზე კოდს, რომელიც ჩატვირთავს გარკვეულ რესურსს, ეს კოდი შესრულდება, როდესაც import-ის დეკლარაცია დამუშავდება.