Heim > Web-Frontend > js-Tutorial > Hauptteil

So entwickeln Sie mehrere Seiten in vue2.0

php中世界最好的语言
Freigeben: 2018-04-13 09:53:14
Original
1540 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie mehrere Seiten mit vue2.0 entwickeln. Was sind die Vorsichtsmaßnahmen für die Entwicklung mehrerer Seiten mit vue2.0? .

Wenn wir normalerweise Vue zum Entwickeln verwenden, haben wir immer das Gefühl, dass Vue speziell für Einzelseitenanwendungen entwickelt wurde, aber das ist nicht der Fall. Da Vue während der technischen Entwicklung stark auf Webpack angewiesen ist und Webpack alle Ressourcen auf einer einzigen Seite integriert. Aber Vue kann nicht nur eine einzelne Seite erstellen, sondern auch mehrere Seiten. Wenn Sie mehrere Seiten erstellen möchten, müssen Sie sich darauf verlassen, das heißt, das Webpack muss neu konfiguriert werden. In diesem Artikel wird ausführlich auf die Konfiguration von Webpack eingegangen.

Es gibt zwei Möglichkeiten, vue zu entwickeln. Eine besteht darin, die Datei vue.js direkt in das Skript-Tag einzuführen. Ich persönlich bin der Meinung, dass es einfacher ist, kleine Mehrseiten zu erstellen Bei einem größeren Projekt geht es immer noch nicht ohne Webpack. Eine andere Methode ist die technische Entwicklung basierend auf Webpack und Vue-Cli. Die Schritte werden unten detailliert beschrieben.
Lassen Sie mich zunächst sagen, dass Sie, wenn Sie Vue für die technische Entwicklung verwenden, zuerst node.js und dann npm haben müssen. Im Allgemeinen verfügen neue Versionen von node jedoch über npm, sodass Sie dies nicht tun müssen. Ich muss es nicht tun. Anweisungen werden in der Befehlszeile eingegeben. Der erste Schritt besteht darin, ein Vue-Projekt mit dem Befehl zu generieren:

vue init webpack test
Nach dem Login kopieren

Der vom Blogger selbst deklarierte Dateiname lautet test. Geben Sie nach dem Herunterladen ein Vue-Projekt ein. Zu diesem Zeitpunkt müssen Sie jedoch den Ordner eingeben und den folgenden Befehl eingeben: 🎜 >

npm install
Nach dem Login kopieren
Wenn die Netzwerkgeschwindigkeit nicht gut ist, verwenden Sie cnpm install. Der Effekt ist der gleiche. Nach ein paar Minuten wird die gesamte Abhängigkeit heruntergeladen. Geben Sie dann den Befehl ein:

npm run dev
Nach dem Login kopieren
Wenn ein Fehler gemeldet wird und die Webseite nicht geöffnet werden kann, gibt es nur einen Grund: Der Port ist zu diesem Zeitpunkt belegt. Sie müssen den Port in /config/index ändern. js-Verzeichnis.

Wenn ein Vue-Projekt alle Konfigurationen abgeschlossen hat, ist der nächste Schritt unser Fokus. Zuerst erstellen wir ein paar neue HTML-Dateien und zwei.html-Dateien sowie die entsprechenden Vue-Dateien Dateien, das Dateiverzeichnis lautet wie folgt:

Anschließend betreten wir das Verzeichnis buildwebpack.base.conf.js, suchen den Eintrag in der Domäne

module.exports und konfigurieren und fügen dort mehrere Einträge hinzu:

entry: {
 app: './src/main.js',
 one: './src/js/one.js',
 two: './src/js/two.js'
},
Nach dem Login kopieren
Beachten Sie, dass der

Variablenname im violetten Teil übernommen werden muss, da er später verwendet wird, um ein Vergessen zu verhindern.

Der nächste Schritt besteht darin, die Entwicklungsumgebung zu ändern, die Datei buildwebpack.dev.conf.js zu öffnen und die Plugins in module.exports zu finden. Das Folgende wird wie folgt geschrieben:

plugins: [
 new webpack.DefinePlugin({
  'process.env': config.dev.env
 }),
 // https://github.com/glenjamin/webpack-hot-middleware#installation--usage
 new webpack.HotModuleReplacementPlugin(),
 new webpack.NoEmitOnErrorsPlugin(),
 // https://github.com/ampedandwired/html-webpack-plugin
 new HtmlWebpackPlugin({
  filename: 'index.html',
  template: 'index.html',
  inject: true,
  chunks: ['app']
 }),
 new HtmlWebpackPlugin({
  filename: 'one.html',
  template: 'one.html',
  inject: true,
  chunks: ['one']
 }),
 new HtmlWebpackPlugin({
  filename: 'two.html',
  template: 'two.html',
  inject: true,
  chunks: ['two']
 }),
 new FriendlyErrorsPlugin()
]
Nach dem Login kopieren
Die App in Chunks verweist auf den entsprechenden Variablennamen im Eintrag von webpack.base.conf.js. Die Funktion von Chunks besteht darin, dass jeder Eintrag bei jeder Kompilierung und Ausführung einem Eintrag entspricht. Wenn er nicht geschrieben wird, werden die Ressourcen aller Seiten eingeführt.

Konfigurieren Sie dann den Run Build, der die Kompilierungsumgebung darstellt. Öffnen Sie zunächst die Datei configindex.js und fügen Sie diese dem Build hinzu:

index: path.resolve(dirname, '../dist/index.html'),
one: path.resolve(dirname, '../dist/one.html'),
two: path.resolve(dirname, '../dist/two.html'),
Nach dem Login kopieren
Öffnen Sie dann die Datei /build/webpack.prod/conf.js, suchen Sie HTMLWebpackPlugin in den Plugins und fügen Sie den folgenden Code hinzu:

new HtmlWebpackPlugin({
 filename: process.env.NODE_ENV === 'testing'
  ? 'index.html'
  : config.build.index,
 template: 'index.html',
 inject: true,
 minify: {
  removeComments: true,
  collapseWhitespace: true,
  removeAttributeQuotes: true
  // more options:
  // https://github.com/kangax/html-minifier#options-quick-reference
 },
 // necessary to consistently work with multiple chunks via CommonsChunkPlugin
 chunksSortMode: 'dependency',
 chunks: ['manifest', 'vendor', 'app']
}),
new HtmlWebpackPlugin({
 filename: config.build.one,
 template: 'one.html',
 inject: true,
 minify: {
  removeComments: true,
  collapseWhitespace: true,
  removeAttributeQuotes: true
 },
 chunksSortMode: 'dependency',
 chunks: ['manifest', 'vendor', 'one']
}),
 new HtmlWebpackPlugin({
   filename: config.build.two,
   template: 'two.html',
   inject: true,
   minify: {
     removeComments: true,
     collapseWhitespace: true,
     removeAttributeQuotes: true
   },
   chunksSortMode: 'dependency',
   chunks: ['manifest', 'vendor', 'two']
 }),
Nach dem Login kopieren
Der Dateiname bezieht sich auf den Build in configindex.js. Jede Seite muss mit einem Chunk konfiguriert werden, sonst werden die Ressourcen aller Seiten geladen.

Dann kann die one.js-Datei so geschrieben werden:

import Vue from 'vue'
import one from './one.vue'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
 el: '#one',
 render: h => h(one)
})
one.vue写法如下:
<template>
 <p id="one">
  {{msg}}
 </p>
</template>
<script>
export default {
 name: 'one',
 data () {
  return {
   msg: 'I am one'
  }
 }
}
</script>
Nach dem Login kopieren
Die Schreibmethode von zwei ist ähnlich, daher werde ich sie nicht aufschreiben,

Dann schreiben Sie dies in App.vue:

<template>
 <p id="app">
  <a href="one.html" rel="external nofollow" >one</a><br>
  <a href="two.html" rel="external nofollow" >two</a><br>
  {{msg}}
 </p>
</template>
Nach dem Login kopieren
Klicken Sie auf diese Weise beim Öffnen der Seite auf den einen Link oben, um zu one.html zu springen, und klicken Sie auf zwei, um zu two.html zu springen. Auf diese Weise sind Sie fertig.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Vervollständigung der E-Mail-Adresse im JS-Eingabeaufforderungstextfeld 

So erhalten Sie JSON vom Server mithilfe von $.ajax( ) Methodendaten

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie mehrere Seiten in vue2.0. 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!