Kezdő útmutató a webpackhez - Hogyan lehet elindítani egy alapvető alkalmazást a webpack 2 segítségével

A webfejlesztés mai világában hűvös eszközök és csomagok fellendülnek, amelyeket felhasználhat webes alkalmazásaihoz. Ennek néhány fontos része a webes alkalmazások csomagolása, a fájlok és a kapcsolódó feladatok aprításának kezelése a gyártáshoz, és utoljára, de nem utolsósorban az élő újratöltések (szeretjük őket ).

A múltban számos eszköz lépett át a webfejlesztők számára. A Gulp és a Grunt az egyik legnépszerűbb eszköz, amelyet a webfejlesztők (beleértve engem is) használtak. A kedvencem a Gulp btw volt;)

Az utóbbi időben a Webpack nagy rajongóivá váltam annak zökkenőmentes működése miatt, és mivel nem csak feladatkezelő, hanem nagyszerű függőségi gráfkezelővel rendelkezik, amely a korábbi eszközök többségében nem volt ilyen. Itt olvashat bővebben arról, hogy mikor kell használni a webpaket és miért. A webpack iránti további ok azért van, mert néhány olyan csodálatos csapat, mint az Angular, csodálatos teljesítmény és funkciók miatt váltott a webpack-re.

Menjünk az üzlethez. Az oktatóprogram / útmutató feltételezi, hogy a NodeJS már telepítve van a számítógépén. Ellenőrizheti, hogy fut-e a terminálon:

csomópont - fordítás

Ha minden dolog rendben van, akkor kinyomtatnia kell valamit, mint a „v7.7.1”.

Telepítés

Tehát először telepítsük a "webpack" -et és a "webpack-dev-server" -et (később szükség lesz rá) globálisan a gépünkbe

npm install -g webpack webpack-dev-server
Vegye figyelembe, hogy ez nem ajánlott gyakorlat. A globális telepítés lezárja a webpack egy adott verzióját, és más verziót használó projektekben sikertelen lehet. A részleteket lásd a webpack dokumentumokban.

Ezután hozzon létre egy mappát. A webpack-demo programot fogom használni ehhez az oktatóanyaghoz

mkdir webpack-demo
cd webpack-demo

Projekt létrehozása

Nyissa meg ezt a mappát a kedvenc szerkesztőjében. Az enyém VSCode manapság. Hozzon létre egy index.html fájlt, és illessze be a következő kódot



  
    
     Alapvető alkalmazás a Webpack segítségével 
    
  
  
    

A WebPack működik !!

       

Ezután hozza létre a fájlt az aktuális mappában, és illessen be egy egyszerű kódrészletet a következőbe:

console.log ("Hello webpack. Demo működik");

Észre fogja venni, hogy a bundle.js-t felvettük az index.html-be, de itt hoztuk létre a main.js-t. Ennek oka az, hogy a webpack csomagolja a js fájlt, és a végén létrehozza a bundle.js fájlt. Ezt megtesszük a parancs futtatásával

webpack main.js bundle.js

Ez olyan eredményt ad, mint

Hash: ec10d1136042776794c4
Verzió: webpack 2.6.1
Idő: 71ms
    Eszközméret darabonkénti nevek
bundle.js 2,65 kB 0 [kibocsátott] fő
   [0] ./main.js 19 byte {0} [épített]

Ha megnyitja az index.html fájlt, és megnyitja a króm hibakeresőt, ez így néz ki

Készíthet egy css-fájlt is, ahogyan beépítettük az index.html-be. Tehát hozzon létre main.css-t a projekt gyökérkönyvtárába, és adjon hozzá néhány mintastílust. Adjuk az oldalnak egy szürke háttér és a kék szín

test{
  háttér: #dcdcdc;
}
h1 {
  szín: kék;
}

A webpack konfigurációs fájljának használata

Megmondhatjuk a webpack számára, hogy mit kell tennünk a webpack.config.js konfigurációs fájlban, és ez lehetővé teszi számunkra a webpack parancs használatát anélkül, hogy meghatározzuk a forrást (main.js) és a célt (bundle.js), és ez erősebb lesz, ha hozzáadunk rakodókat, cuccokat és további konfigurációkat. Ezt később megvizsgáljuk.

Hozzon létre egy webpack.config.js fájlt a projektben, és adja hozzá a következő alapkivonatot:

module.exports = {
  bejegyzés: „./main.js”,
  output: {
    fájlnév: './bundle.js'
  }
};

A konfiguráció nagyon egyszerű. a bejegyzés az a fájl, amely a függőségi gráf gyökere, és a webpack bejegyzésfájlja, ahol a kimenet tartalmazza a kimeneti fájl fájlnevét. És akkor használjuk a kimeneti fájlt az index.html-ben. Tehát, ha már elkészült ezzel, próbálja meg futtatni a webpack parancsot a projekt gyökérkönyvtárában a terminálról. Ugyanazt a kimenetet kell kapnia, mint korábban a konzolon.

Figyeld és építsd útközben

Megmondhatja a webpacknek, hogy figyeljen a fájlokra, és futtassa az összeállítási folyamatot, amint a fájlokban megváltozik valami, az watch: true hozzáadásával a webpack.config.js fájlban. A fájljának most így kell kinéznie

module.exports = {
  bejegyzés: „./main.js”,
  output: {
    fájlnév: './bundle.js'
  },
  nézni: igaz
};

Most futtathatja a webes csomag parancsot, és ha bármit megváltoztat a main.js fájlban, akkor a webpack újrafordítja és elkészíti a bundle.js fájlt.

Fejlesztési szerver

Több jó cucc. Mivel az index.html megnyitása túl régi iskola, és fejlesztés közben élünk az újratöltéssel, egyszerűen megtehetjük a korábban telepített webpack-dev-szerver használatával. Ehhez tartozik egy kis expressz alkalmazás is, így csak megadja a javascript fájlt, és készen áll a továbblépésre. Csak a projekt gyökérkönyvtárában futtassa az alábbi parancsot

webpack-dev-szerver

Bumm ! A projekt most látható a http: // localhost: 8080 / webpack-dev-server /

Csodálatos az, hogy ha módosítja a main.js vagy a main.css fájlt, akkor a szerver az újratöltést élni fogja, és nem kell minden alkalommal tennie a ctrl + R / parancs + R parancsokat. Próbáld ki !

homlokrakodók

A rakodók feladatoknak tekinthetők, mint más korábbi eszközökben is. Használhatók olyan műveletek elvégzésére, mint például a Request () más modulok és fájlok betöltése. A Webpack nem foglalja magában a rakodókat. És amúgy sem szabad, mert sokkal nehezebb lesz. Ugyanakkor nagyon sok rakodógép telepíthető npm-en vagy fonalon keresztül. Az npm-et fogjuk használni ehhez az oktatóanyaghoz, és a babel-betöltőt használunk valamilyen ES6-kód írásához, és a css-betöltõt és a stílus-betöltõt használjuk a main.css fájl importálásához a main.js fájlba.

Nyissa meg a terminált a projekt gyökérrészéből, és hajtsa végre a következő parancsokat.

npm init -y
npm install --save-dev babel-loader babel-core babel-preset-env
npm install --save-dev css-loader stílus-betöltő

Az npm init -y létrehozza a package.json fájlt a projektjében, amelyet a fejlesztési függőségek mentésére és a projektünkbe betöltők hozzáadására használunk.

npm install --save-dev babel-loader css-loader style-loader telepíti ezeket a betöltőket npm-en keresztül, és elmenti őket a node_modules mappába a projektünkben.

Most, hogy a telepített rakodókkal dolgozzunk, tájékoztatnunk kell a webpack.config.js weboldalunkat, hogy felhasználjuk őket az összeállítások létrehozásakor vagy a webszerver futtatásakor. Megtesszük, ha a következőképpen módosítjuk a konfigurációs fájlt:

module.exports = {
  bejegyzés: „./main.js”,
  output: {
    fájlnév: './bundle.js'
  },
  karóra: igaz,
  modul: {
    szabályok:
    {
      teszt: /\.css$/,
      felhasználás: [
        {loader: "style-loader"},
        {loader: "css-loader"}
      ]
    }, {
      teszt: /\.js$/,
      kizárja: / (node_modules | bower_components) /,
      felhasználás: {
        rakodó: 'babel-loader',
        opciók: {
          presetek: ['env']
        }
      }
    }]
  }
};

Most már írhatunk ES6-kódot a main.js-be, amely az ES5-re fordul. Változtassa meg a main.js fájl tartalmát a következőre

importálási stílus a './main.css' -ból;
const appName = 'Webpack Demo App';
setTimeout (
  () => riasztás (`Köszönjük, hogy a (z) $ {appName} felhasználót használja)
, 500);

A fenti kódot az ES5 javascript-re állítják össze, és beillesztik a bundle.js-be

A css esetében eltávolíthatjuk a

Lásd még

Hogyan és milyen korban kezdhetjük meg a gyermekek programozását? Hogyan elsajátítja a több programozási nyelvet? Nekem van 0 dollárom és két hét van pénzem online kereséshez. Milyen lehetőségeim vannak?pokemon hold hogyan lehet nekem kétHogyan lehet pénzt keresni az internetes hirdetésekkel? Hogyan javíthatom kódolási készségeimet rövid idő alatt? Hogyan kereshet egy webhelytulajdonos napi 100 dollárt a Google AdSense segítségével? Mennyit lehet keresni ingyenes alkalmazásokból, ha alkalmazásomat 200 millió alkalommal töltöttem le minden aktív felhasználóval?