• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dołączanie zewnętrznych plików JavaScript - Symfony WebPack

Object Storage Arubacloud
0 głosów
733 wizyt
pytanie zadane 2 maja 2018 w JavaScript przez kevin Mądrala (5,010 p.)

Witam!

W jaki sposób robione są biblioteki JavaScript że w pliku js dołączam inne pliki za pomocą import "./other_file.js"; bez żadnego var xyz = import ""; etc. I mam wszystkie funkcje z tego pliku ? W Symfony używam WebPack'a a skrypty kompiluję za pomocą yarn encore dev. Za każdym razem jak szukam czegoś na temat dołączenia innego pliku JavaScript to znajduję:

nazwaPliku.exports = {
   funkcja: function() {
      return "Hello";
   }
}

Ale czy taka składnia jest ostateczna ? Nie może to wyglądać mniej więcej tak:

nazwaPliku.exports = ( function () {

    function init () {

    }

    function test() {
        aler("dziala");
    }

    return { init, test }
})();

Aby dołączyć taki plik to za każdym razem muszę użyć require i w każdym pliku ustawić nazwę modułu ? Nie można tego zrobić w dołączanym pliku ?

const moduleFromFile = require('./nazwaPliku');
komentarz 2 maja 2018 przez ShiroUmizake Nałogowiec (46,300 p.)
Zgubiłem się trochę Jaki masz problem dokładnie?
komentarz 2 maja 2018 przez kevin Mądrala (5,010 p.)
W jaki sposób dołączać/tworzyć pliki tak abym mógł je dodać do projektu poprzez import ""; a nie var plik = require(); Różnica jest taka że tworzę zmienną var która jest widziana w obrębie pliku i do niej przypisuje require("plik.js"); A jak to zrobić żebym miał wszystkie funkcje z tego pliku zaimportowane import "plik.js"; bez żadnego przypisania var funkcje_z_pliku = require("");
komentarz 2 maja 2018 przez ShiroUmizake Nałogowiec (46,300 p.)
Webpack, preset ES6 + babel.

2 odpowiedzi

0 głosów
odpowiedź 2 maja 2018 przez UltraSF Stary wyjadacz (11,740 p.)
Przy webpacku(npm) można użyć po prostu export default
0 głosów
odpowiedź 2 maja 2018 przez Merg Nowicjusz (140 p.)

Zainteresuj się Babel z presetami do ES6. Na githubie jest kilka przykładowych projektów babel + es6 + webpack.
Jedynym minusem jest fakt, że w chwili obecnej znacznie lepiej działają na backendzie niż na froncie. 

Dlatego trzeba kombinować i w webpacku ustawić typ wynikowych pakietów na AMD ( przynajmniej takowy działał u mnie ).
Używałem tego w sumie w prywatnym projekcie we współpracy z Typescriptem, ale z Babelem powinno być podobnie. 

Ostatecznie powinieneś dojść do takiej wersji składni

 

// w module my_math

export function pow2(x) {
    return x ** x;
}

import { pow2 } from "my_math";


 Jak nieszczególnie trawisz babela, jest jeszcze buble + rollup. Wygodniejsze, fajniejsz, łatwiejsze w konfiguracji, ale mniej rzeczy z nimi współpracuje. 

Tu masz wszystko ładnie wytłumaczony, jakby wujek Google nie był łaskawy.

ES6 + BABEL + WEBPACK with MODULES prosto z Githuba i to może jeszcze aktualny, bo z zamierzchłego 2017. Jest ryzyko, że będziesz musiał zaktualizować połowę webpacka, ale to standard ;) 

MIłej zabawy

komentarz 3 maja 2018 przez kevin Mądrala (5,010 p.)
Czyli że o wiele prościej będzie mi zrobić var module = require(""); :)

Podobne pytania

0 głosów
1 odpowiedź 160 wizyt
pytanie zadane 6 sierpnia 2018 w PHP przez sebastian_23 Początkujący (380 p.)
0 głosów
1 odpowiedź 95 wizyt
+2 głosów
1 odpowiedź 75 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...