Maison > Article > interface Web > Comment configurer des projets multipages dans Vue.js
Utilisez d'abord la commande suivante pour créer un nouveau projet Vue.js
vue init webpack vue-3
Après avoir ouvert le projet à l'aide de VsCode, entrez le projet sur la ligne de commande, installez les bibliothèques dépendantes appropriées et puis exécutez le projet et exécutez la commande suivante
cd vue-3npm installnpm run dev
Quand tout est normal, saisissez http://localhost:8080 dans le navigateur et une page avec une grande icône V devrait apparaître.
Après avoir terminé les préparatifs ci-dessus, nous mettrons ensuite en œuvre la configuration du projet multipage. Les effets que nous espérons obtenir sont les suivants :
Entrez http:// dans. le navigateur localhost:8080/admin passera à la page affichant Ceci est la connexion de l'administrateur .
On crée le répertoire page/login dans le répertoire src du projet
puis on crée trois nouveaux dossiers sous le répertoire login : admin.html admin.js Admin.vue
Ensuite on écrit le code d'affichage de la page correspondant , où Le code dans
admin.html est le suivant
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>管理员登录页面</title></head><body> <p id="admin"></p></body></html>
Le code dans Admin.vue est le suivant
<template> <p id="admin"> <p>这里是管理员登录页面</p> </p></template><script>export default { name: 'Admin'}</script>
Le code dans admin.js est le suivant
import Vue from 'vue'import Admin from './Admin.vue'Vue.config.productionTip = false/* eslint-disable no-new */new Vue({ el: '#admin', components: { Admin }, template: '<Admin/>'})
Une fois le code de la page ci-dessus terminé, démarrez le travail de configuration
Ouvrez d'abord le build
répertoire
et ajoutez un nouveau fichier d'entrée au webpack.base.conf.js
attribut de configuration du fichier entry
:
module.exports = { context: path.resolve(__dirname, '../'), entry: { app: './src/main.js', admin: './src/page/login/admin.js' },
Ajouter une redirection vers webpack.dev.conf.js
sous devServer
dans le fichier rewrites
:
devServer: { clientLogLevel: 'warning', historyApiFallback: { rewrites: [ { from: /.admin/, to: path.posix.join(config.dev.assetsPublicPath, 'src/indexlogin/admin.html') }, { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, ], },
Configurez également un autre plugins
dans l'élément de configuration HtmlWebpackPlugin
du fichier >Plug-in, permet de générer la page d'entrée de admin.html
et d'ajouter chunks
en même temps, permet de préciser l'alias du fichier d'entrée correspondant au précédent entry
.
plugins: [ new webpack.DefinePlugin({ 'process.env': require('../config/dev.env') }), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. new webpack.NoEmitOnErrorsPlugin(), // https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', chunks:['app'], inject: true }), new HtmlWebpackPlugin({ filename: 'src/page/login/admin.html', template: 'src/page/login/admin.html', chunks:['admin'], inject: true }),
Ensuite, nous trouvons le répertoire config
, ouvrons le fichier index.js
à l'intérieur et ajoutons le code suivant sous l'attribut build
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), admin: path.resolve(__dirname, '../dist/src/page/login/admin.html'),
Terminé tout ce qui précède Pour configurer le travail, réexécutez npm run dev
sur la ligne de commande. Une fois le projet démarré, tapez http://localhost:8080/admin dans le navigateur, et il passera avec succès à la page que nous venons d'écrire. .
Utilisez d'abord la commande suivante pour créer un nouveau projet Vue.js
vue init webpack vue-3
Après avoir ouvert le projet à l'aide de VsCode, entrez le projet sur la ligne de commande, installez les bibliothèques dépendantes appropriées et puis exécutez le projet et exécutez la commande suivante
cd vue-3npm installnpm run dev
Quand tout est normal, saisissez http://localhost:8080 dans le navigateur et une page avec une grande icône V devrait apparaître.
Après avoir terminé les préparatifs ci-dessus, nous mettrons ensuite en œuvre la configuration du projet multipage. Les effets que nous espérons obtenir sont les suivants :
Entrez http:// dans. le navigateur localhost:8080/admin passera à la page affichant Ceci est la connexion de l'administrateur .
On crée le répertoire page/login dans le répertoire src du projet
puis on crée trois nouveaux dossiers sous le répertoire login : admin.html admin.js Admin.vue
Ensuite on écrit le code d'affichage de la page correspondant , où Le code dans
admin.html est le suivant
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>管理员登录页面</title></head><body> <p id="admin"></p></body></html>
Le code dans Admin.vue est le suivant
<template> <p id="admin"> <p>这里是管理员登录页面</p> </p></template><script>export default { name: 'Admin'}</script>
Le code dans admin.js est le suivant
import Vue from 'vue'import Admin from './Admin.vue'Vue.config.productionTip = false/* eslint-disable no-new */new Vue({ el: '#admin', components: { Admin }, template: '<Admin/>'})
Une fois le code de la page ci-dessus terminé, démarrez le travail de configuration
Ouvrez d'abord le build
répertoire
et ajoutez un nouveau fichier d'entrée au webpack.base.conf.js
attribut de configuration du fichier entry
:
module.exports = { context: path.resolve(__dirname, '../'), entry: { app: './src/main.js', admin: './src/page/login/admin.js' },
Ajouter une redirection dans le webpack.dev.conf.js
sous le devServer
du fichier rewrites
:
devServer: { clientLogLevel: 'warning', historyApiFallback: { rewrites: [ { from: /.admin/, to: path.posix.join(config.dev.assetsPublicPath, 'src/indexlogin/admin.html') }, { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, ], },
Configurer également une plus plugins du fichier >Plug-in, utilisé pour générer la page d'entrée de admin.html HtmlWebpackPlugin
et ajouter
en même temps, utilisé pour spécifier l'alias du fichier d'entrée correspondant au précédent chunks
. entry
plugins: [ new webpack.DefinePlugin({ 'process.env': require('../config/dev.env') }), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. new webpack.NoEmitOnErrorsPlugin(), // https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', chunks:['app'], inject: true }), new HtmlWebpackPlugin({ filename: 'src/page/login/admin.html', template: 'src/page/login/admin.html', chunks:['admin'], inject: true }),Ensuite, nous trouvons le répertoire
, ouvrons le fichier config
à l'intérieur et ajoutons le code suivant sous l'attribut index.js
build
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), admin: path.resolve(__dirname, '../dist/src/page/login/admin.html'),
sur la ligne de commande. Une fois le projet démarré, tapez http://localhost:8080/admin dans le navigateur, et il passera avec succès à la page que nous venons d'écrire. . npm run dev
Un exemple simple de développement d'une application multipage avec vue-cli
Vue-cli crée un seul page en plusieurs pages Exemple de code de méthode
Comment transformer Vue-cli en un mode historique prenant en charge plusieurs pages
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!