Comment implémenter le développement multipage dans webpack
Cet article présente principalement la pratique du développement multipage de webpack. L'éditeur pense que c'est plutôt bien, je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.
Écrivez-le devant
Webpack est un chargeur de modules et un outil d'empaquetage qui peut charger du js, du css, des pages, des images, Diverses ressources telles que les vidéos sont modularisées. De nos jours, de nombreux modèles de webpacks d’une seule page circulent sur Internet, mais qu’en est-il de plusieurs pages ? Moins, je propose désormais un modèle front-end multipage. J'espère que tout le monde pourra l'utiliser.
Lorsque je suis entré en contact avec webpack pour la première fois, je pensais que webpack ne convenait qu'aux applications d'une seule page, telles que webpack+react, webpack+vue. Je ressens moi-même la puissance et la commodité de webpack dans le processus de création de projets et de développement à l'aide de webpack+vue. En fonction des besoins réels du projet, je me demande si des sites multipages peuvent également être créés à l'aide de webapck ? J'ai donc commencé quelques explorations et finalement construit une solution relativement complète.
Cet article prend comme exemple un projet réel pour décrire comment utiliser Webpack pour la construction technique dans des projets de plusieurs pages. Cet article est un résumé de ma propre expérience pratique, donc certaines solutions ne sont pas optimales et sont toujours en cours d'exploration et d'optimisation. S'il y a des erreurs ou des omissions, veuillez les signaler.
Introduction
Ce projet est principalement construit sur la base de webpack2.x, avec gulp comme outil auxiliaire. Le front-end utilise art-template comme moteur de modèle. Une page correspond à un fichier de modèle et d'autres modules peuvent être introduits dans le fichier d'entrée via l'importation ou Webpack fusionnera automatiquement ces modules en un seul fichier avec le. fichier d'entrée.
Configuration de l'environnement de développement front-end
Structure du répertoire principal
├─dist #打包后生成的文件目录 └─src #开发目录 ├─components #通用组件 ├─static #静态资源目录 │ ├─css │ ├─img │ └─js │ ├─component #站点通用组件对应的js │ ├─lib #第三方js库 │ ├─services #各页面入口 │ └─util #通用工具js ├─template #html模板 └─views #页面 main.js #公共入口 gulpfile.js #gulp任务配置 package.json #项目依赖 webpack.config.js #webpack配置
Configuration du webpack
Fichier d'entrée
// 获取入口文件 var entries = (function() { var jsDir = path.resolve(__dirname, 'src/static/js/services'); var entryFiles = glob.sync(jsDir + '/*.js'); var map = {}; entryFiles.forEach(function(filePath) { var filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.')); map[filename] = filePath; }); return map; })();
Cette méthode générera une carte du nom du fichier au chemin absolu du fichier, tel que
entry: { 'page-1': '/../webpack-multipage-demo/src/static/js/services/page-1.js' }
Mise à jour à chaud
La mise à jour à chaud est tout simplement inutile. Elle est si facile à utiliser et améliore considérablement l'efficacité du développement.
//服务器配置 var devServer = env === 'production' ? {} : { contentBase: path.resolve(__dirname), compress: true, historyApiFallback: true, hot: true, inline: true, host: 'localhost', port: 8080 };
De plus, ajoutez le nouveau webpack.HotModuleReplacementPlugin() au plugin et activez le remplacement du module à chaud pour obtenir des mises à jour à chaud.
Générer la configuration html
Il est convenu que le fichier js de la même page porte le même nom que le fichier modèle, et enfin un fichier html du même nom est généré sur la base du js.
var htmlPages = (function() { var artDir = path.resolve(__dirname, 'src/views'); var artFiles = glob.sync(artDir + '/*.art'); var array = []; artFiles.forEach(function(filePath) { var filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.')); array.push(new HtmlWebpackPlugin({ template: path.resolve(__dirname, 'src/template/index.html'), filename: filename + '.html', chunks: ['vendor', 'main', filename], chunksSortMode: function(chunk1, chunk2) { var order = ['vendor', 'main', filename]; var order1 = order.indexOf(chunk1.names[0]); var order2 = order.indexOf(chunk2.names[0]); return order1 - order2; }, minify: { removeComments: env === 'production' ? true : false, collapseWhitespace: env === 'production' ? true : false } })); }); return array; })();
Les modules communs sont extraits en composants
Pour certains modules qui doivent être utilisés dans plusieurs pages, ils peuvent être extraits en tant que composants communs. La composition du composant est la même que celle de la page, un fichier .js, un fichier .art et un fichier .css. Le contenu html est rendu dans le fichier js et enfin exporté. Vous pouvez l'exiger directement lors de son utilisation. . Pour des pratiques spécifiques, veuillez vous référer à la démo
Il y a des problèmes
Chaque fois qu'une nouvelle page est créée, le service webpack doit être redémarré
-
Les fichiers de polices ne peuvent pas être compressés. Il n'existe actuellement aucune bonne solution pour compresser les polices Web introduites via font-face
démo.
Une démo basée sur la théorie de cet article, adresse : webpack-multipage-demo
Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère qu'il sera utile à tout le monde. l'avenir.
Articles connexes :
Comment implémenter le composant de zone de saisie numérique dans Vue
Introduction détaillée à setTimeout dans la fonction JS
Introduction détaillée à la mise à jour des objets dans mangouste
Comment implémenter AOP en JavaScript
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Vue est un excellent framework JavaScript qui peut nous aider à créer rapidement des applications Web interactives et efficaces. Vue3 est la dernière version de Vue, qui introduit de nombreuses nouvelles fonctionnalités et fonctionnalités. Webpack est actuellement l'un des packagers de modules et outils de construction JavaScript les plus populaires, qui peut nous aider à gérer diverses ressources dans nos projets. Cet article explique comment utiliser Webpack pour empaqueter et créer des applications Vue3. 1. Installez Webpack

Différences : 1. La vitesse de démarrage du serveur webpack est plus lente que celle de Vite ; car Vite n'a pas besoin d'être empaqueté au démarrage, il n'est pas nécessaire d'analyser les dépendances du module et de compiler, donc la vitesse de démarrage est très rapide. 2. La mise à jour à chaud de Vite est plus rapide que le webpack ; en termes de HRM de Vite, lorsque le contenu d'un certain module change, laissez simplement le navigateur demander à nouveau le module. 3. Vite utilise esbuild pour pré-construire les dépendances, tandis que webpack est basé sur le nœud. 4. L'écologie de Vite n'est pas aussi bonne que celle du webpack, et les chargeurs et plug-ins ne sont pas assez riches.

Avec le développement continu de la technologie de développement Web, la séparation front-end et back-end et le développement modulaire sont devenus une tendance répandue. PHP est un langage back-end couramment utilisé. Lors du développement modulaire, nous devons utiliser certains outils pour gérer et empaqueter les modules. Webpack est un outil d'empaquetage modulaire très facile à utiliser. Cet article explique comment utiliser PHP et Webpack pour le développement modulaire. 1. Qu'est-ce que le développement modulaire ? Le développement modulaire fait référence à la décomposition d'un programme en différents modules indépendants. Chaque module a sa propre fonction.

Méthode de configuration : 1. Utilisez la méthode d'importation pour placer le code ES6 dans le fichier de code js emballé ; 2. Utilisez l'outil npm pour installer l'outil babel-loader, la syntaxe est "npm install -D babel-loader @babel/core @babel/preset- env"; 3. Créez le fichier de configuration ".babelrc" de l'outil babel et définissez les règles de transcodage ; 4. Configurez les règles de packaging dans le fichier webpack.config.js.

Alors que la complexité des applications Web modernes continue d’augmenter, la création d’excellents systèmes d’ingénierie frontale et de plug-ins devient de plus en plus importante. Avec la popularité de Spring Boot et Webpack, ils sont devenus une combinaison parfaite pour créer des projets frontaux et des systèmes de plug-ins. SpringBoot est un framework Java qui crée des applications Java avec des exigences de configuration minimales. Il fournit de nombreuses fonctionnalités utiles, telles que la configuration automatique, afin que les développeurs puissent créer et déployer des applications Web plus rapidement et plus facilement. W

En vue, webpack peut regrouper des fichiers js, css, images, json et autres dans des formats appropriés pour une utilisation par le navigateur. Dans webpack, js, css, images, json et d'autres types de fichiers peuvent être utilisés comme modules. Diverses ressources de module dans webpack peuvent être regroupées et fusionnées en un ou plusieurs packages, et pendant le processus de packaging, les ressources peuvent être traitées, comme la compression d'images, la conversion de scss en css, la conversion de la syntaxe ES6 en ES5, etc., qui peuvent être reconnu par le type de fichier HTML.

Webpack est un outil de packaging de modules. Il crée des modules pour différentes dépendances et les regroupe tous dans des fichiers de sortie gérables. Ceci est particulièrement utile pour les applications d'une seule page (le standard de facto pour les applications Web aujourd'hui).

Webpack dans vue est installé à l'aide du gestionnaire de packages de nœuds "npm" ou de l'image npm "cnpm". Webpack est un outil d'empaquetage de modules statiques pour les applications JavaScript modernes. Il est développé sur la base de node.js. Il nécessite la prise en charge du composant node.js lors de son utilisation. Il doit être installé à l'aide de npm ou cnpm. g" ou "cnpm install webpack -g".
