Heim > Web-Frontend > js-Tutorial > Hauptteil

Ausführliche Erläuterung des Beispiels einer Paketverpackung

小云云
Freigeben: 2018-01-16 13:20:22
Original
2363 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich das Paketverpackungsbeispiel (React HelloWorld) vor und stellt die Eigenschaften und Verwendungsbeispiele der Paketverpackung im Detail vor. Wenn Sie interessiert sind, können Sie es hoffentlich jedem helfen.

Paketverpackungsfunktionen

Extrem schnelle Verpackungszeit

Parcel verwendet Worker-Prozesse, um die Multi-Core-Kompilierung zu ermöglichen. Es gibt auch einen Dateisystem-Cache, um eine schnelle Neukompilierung auch nach einem Neustart des Builds zu ermöglichen.

Verpacken Sie alle Ihre Ressourcen

Parcel bietet sofort einsatzbereite Unterstützung für JS, CSS, HTML, Dateien und mehr, und es sind keine Plugins erforderlich.

Automatische Konvertierung

Bei Bedarf werden Babel, PostCSS und PostHTML und sogar das Paket node_modules verwendet, um den Code automatisch zu konvertieren.

Codeaufteilung konfigurieren

Mithilfe der dynamischen import()-Syntax teilt Parcel Ihre Ausgabedateibündel (Bundles) auf, sodass Sie beim ersten Laden nur den Code laden müssen, den Sie benötigen.

Hot-Modulaustausch

Parcel erfordert keine Konfiguration. Wenn Sie sich in der Entwicklungsumgebung befinden, wird das Modul im Browser automatisch aktualisiert, wenn sich Ihr Code ändert.

Freundliches Fehlerprotokoll

Wenn ein Fehler auftritt, gibt Parcel syntaxhervorgehobene Codeausschnitte aus, um Ihnen bei der Lokalisierung des Problems zu helfen.

React HelloWorld-App im Paket mit Parcel. GitHub-Adresse: https://github.com/justjavac/parcel-example/tree/master/react-helloworld

0. Erstellen Sie ein neues Verzeichnis


mkdir react-helloworld
cd react-helloworld
Nach dem Login kopieren

1. npm initialisieren


yarn init -y
Nach dem Login kopieren

oder


npm init -y
Nach dem Login kopieren

Die package.json-Datei wird zu diesem Zeitpunkt erstellt. Der Dateiinhalt ist:


{
 "name": "parcel-example-react-helloworld",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
 },
 "keywords": [],
 "author": "",
 "license": "ISC"
}
Nach dem Login kopieren

2 . React hinzufügen

Garn:


yarn add react react-dom
Nach dem Login kopieren

npm:


npm install react react-dom --save
Nach dem Login kopieren

Inhalt der package.json-Datei:


 {
  "name": "parcel-example-react-helloworld",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
- "license": "ISC"
+ "license": "ISC",
+ "dependencies": {
+  "react": "^16.2.0",
+  "react-dom": "^16.2.0"
+ }
 }
Nach dem Login kopieren

3. Babel hinzufügen

Neu. babelrc-Datei


touch .babelrc
Nach dem Login kopieren

Eingabeinhalt:


{
 "presets": ["react"]
}
Nach dem Login kopieren

Babel-Preset hinzufügen -react:

Garn:


yarn add babel-preset-react -D
Nach dem Login kopieren

npm:


npm install babel-preset-react --D
Nach dem Login kopieren

At Diesmal der Inhalt der package.json-Datei:


 {
  "name": "parcel-example-react-helloworld",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
   "react": "^16.2.0",
   "react-dom": "^16.2.0"
-  }
+  },
+  "devDependencies": {
+   "babel-preset-react": "^6.24.1"
+  }
 }
Nach dem Login kopieren

5. Paket hinzufügen

Garn:


yarn add parcel-bundler -D
Nach dem Login kopieren

npm:


npm install parcel-bundler --D
Nach dem Login kopieren

Zu diesem Zeitpunkt ist der Inhalt der package.json-Datei:


 {
  "name": "parcel-example-react-helloworld",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
   "react": "^16.2.0",
   "react-dom": "^16.2.0"
  },
  "devDependencies": {
-   "babel-preset-react": "^6.24.1"
+   "babel-preset-react": "^6.24.1",
+   "parcel-bundler": "^1.0.3"  
  }
 }
Nach dem Login kopieren

6. Erstellen Sie eine neue index.html-Datei

Inhalt


<html>
<body>
  <p id="root"></p>
  <script src="./index.js"></script>
</body>
</html>
Nach dem Login kopieren

7 . Erstellen Sie eine neue index.js-Datei


import React from "react";
import ReactDOM from "react-dom";
const App = () => {
 return <h1>Hello World!</h1>;
};

ReactDOM.render(<App />, document.getElementById("root"));
Nach dem Login kopieren

8. Verpackung hinzufügen Befehl


 {
  "name": "parcel-example-react-helloworld",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
-  "test": "echo \"Error: no test specified\" && exit 1"
+  "start": "parcel index.html"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
   "react": "^16.2.0",
   "react-dom": "^16.2.0"
  },
  "devDependencies": {
    "babel-preset-react": "^6.24.1"
    "babel-preset-react": "^6.24.1",
    "parcel-bundler": "^1.0.3"  
  }
 }
Nach dem Login kopieren

9. Abschließen

Ausführen


yarn start
Nach dem Login kopieren

oder


npm start
Nach dem Login kopieren

Öffnen Sie http://localhost:1234 im Browser

Die Verpackung Der Prozess erzeugt zwei Verzeichnisse, .cache und dist. Für Git-Projekte können Sie eine neue .gitignore-Datei erstellen, um diese beiden Verzeichnisse zu ignorieren:


.cache
dist
node_modules
Nach dem Login kopieren

GitHub-Adresse : https://github.com/justjavac/parcel-example/tree /master/react-helloworld

Verwandte Empfehlungen:

Packaging Tool Parcel Zero-Configuration Vue Entwicklungsgerüst

Parcel.js und Vue 2.x Beispiel für extrem schnelle, konfigurationsfreie Verpackungserfahrung

Detaillierte Erläuterung von NodeJS zur Implementierung von Simple Gulp Verpackung


Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Beispiels einer Paketverpackung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!