首頁 web前端 js教程 vue2.0怎麼開發多頁面

vue2.0怎麼開發多頁面

Apr 13, 2018 am 09:53 AM
怎樣 頁面

這次帶給大家vue2.0怎麼開發多頁面,vue2.0開發多頁面的注意事項有哪些,下面就是實戰案例,一起來看一下。

我們平常用vue開發的時候總覺得vue好像就是專門為了單頁應用而誕生的,其實不是。因為vue在工程開發的時候很依賴webpack,而webpack就是將所有的資源整合到一塊,弄成一個單頁。但vue不只可以做單頁面,它還可以做多頁面,如果要做多頁的話需要對他的依賴,也就是webpack就是重新配置才可以。本文將詳細講webpack的設定。

vue的開發有兩種,一種是直接的在script標籤裡引入vue.js檔案即可,這樣子引入的話個人感覺做小型的多頁面會比較舒坦,一旦做大型一點的項目,還是離不開webpack。所以另一種方法就是基於webpack和vue-cli的工程化開發。下面詳解步驟。
先聲明,如果用vue進行工程化開發,首先要有node.js,然後再下一個npm,不過一般新版的node都會有npm所以可以不用弄。指令是在命令列輸入。首先第一步就是產生一個vue項目,用指令:

vue init webpack test
登入後複製

部落客本人聲明的檔案名稱為test,下載好後一路enter,之後便產生了一個vue項目,但是這個vue項目還沒有一些相關的依賴,這個時候需要進入到該資料夾裡面,輸入指令:

npm install
登入後複製

如果網速不好,則用cnpm install,效果一樣。略等幾分鐘後整個依賴便已經下完,之後輸入指令:

npm run dev
登入後複製

則會自動開啟一個介面,如果報錯不能開啟網頁的話只有一個原因,那就連接埠佔用,這個時候需要到/config/index.js目錄下改埠就行。

當一個vue專案完成好所有的配置後,接下來就是我們的重點了,首先我們新新建幾個html文件,博主我新建了一個one.html和two.html,及其與之對應的vue文件和js文件,文件目錄如下:

做好之後我們進入buildwebpack.base.conf.js目錄下,在module.exports的網域裡,找到entry,在那裡組態新增多個入口:

entry: {
 app: './src/main.js',
 one: './src/js/one.js',
 two: './src/js/two.js'
},
登入後複製

注意,紫色部分的變數名稱要起好,因為後面要用到,以防忘記。

接下來就是對開發環境run dev裡進行修改,打開buildwebpack.dev.conf.js文件,在module.exports那裡找到plugins,下面寫法如下:

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()
]
登入後複製

在chunks那裡的app指的是webpack.base.conf.js的entry那裡與之對應的變數名稱。 chunks的作用是每次編譯、執行時每一個入口都會對應一個entry,如果沒寫則引入所有頁面的資源。

之後就對run build也就是編譯環境進行設定。先開啟configindex.js文件,在build裡加入這個:

index: path.resolve(dirname, '../dist/index.html'),
one: path.resolve(dirname, '../dist/one.html'),
two: path.resolve(dirname, '../dist/two.html'),
登入後複製

然後開啟/build/webpack.prod/conf.js文件,在plugins那裡找到HTMLWebpackPlugin,然後加入以下程式碼:

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']
 }),
登入後複製

其中filename引用的是configindex.js裡的build,每個頁面都要設定一個chunks,不然會載入所有頁面的資源。

然後one.js檔可以這樣寫:

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>
登入後複製

two的寫法與之類似,所以不寫下來了,

然後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>
登入後複製

這樣子當你打開頁面的時候,點擊上面one的連結就會跳到one.html,點擊two就跳到two.html。這樣子就大功告成了。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

建議閱讀:

JS提示文字方塊信箱位址補全       

$.ajax()方法如何從伺服器取得json資料

以上是vue2.0怎麼開發多頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在Word複製頁面 如何在Word複製頁面 Feb 20, 2024 am 10:09 AM

是否要複製MicrosoftWord中的頁面,並保持格式不變?這是一個聰明的想法,因為當您想要建立特定文件佈局或格式的多個副本時,在Word中複製頁面可能是一種有用的節省時間的技術。本指南將逐步引導您在Word中複製頁面的過程,無論是建立範本還是複製文件中的特定頁面。這些簡單的說明旨在幫助您輕鬆地重新製作頁面,省去從頭開始的麻煩。為什麼要在MicrosoftWord中複製頁面?在Word中複製頁面非常有益的原因有以下幾點:當您有一個具有特定佈局或格式的文件要複製時。與從頭開始重新建立整個頁面不同

如何快速刷新網頁? 如何快速刷新網頁? Feb 18, 2024 pm 01:14 PM

頁面刷新在我們日常的網路使用中非常常見,當我們訪問一個網頁後,有時會遇到一些問題,例如網頁加載不出來或顯示不正常等。這時候我們通常會選擇刷新頁面來解決問題,那麼要如何快速刷新頁面呢?下面我們就來探討頁面刷新的快捷鍵。頁面刷新快捷鍵是一種透過鍵盤操作來快速刷新目前網頁的方法。在不同的作業系統和瀏覽器中,頁面刷新的快捷鍵可能有所不同。下面我們以常見的W

如何在iPhone上自訂和編輯待機模式:iOS 17的新功能 如何在iPhone上自訂和編輯待機模式:iOS 17的新功能 Sep 21, 2023 pm 04:01 PM

待機是iOS17更新中的一項新功能,它提供了一種新的增強方式,可以在手機快速閒置時存取資訊。透過StandBy,您可以輕鬆查看時間、查看即將發生的事件、瀏覽日曆、獲取您所在位置的天氣更新等等。啟動後,iPhone在充電時設定為橫向時會直觀地進入待機模式。此功能非常適合床頭櫃等無線充電點,或在日常任務中離開iPhone充電時。它允許您輕掃待機中顯示的各種小部件,以存取來自各種應用程式的不同資訊集。但是,您可能希望根據您的偏好和您經常需要的資訊修改這些小部件,甚至刪除一些小部件。因此,讓我們深入

處理Laravel頁面無法正確顯示CSS的方法 處理Laravel頁面無法正確顯示CSS的方法 Mar 10, 2024 am 11:33 AM

《處理Laravel頁面無法正確顯示CSS的方法,需要具體程式碼範例》在使用Laravel框架開發Web應用程式時,有時候會遇到頁面無法正確顯示CSS樣式的問題,這可能會導致頁面呈現不正常的樣式,影響使用者體驗。本文將介紹一些處理Laravel頁面無法正確顯示CSS的方法,並提供具體的程式碼範例,幫助開發者解決這個常見問題。一、檢查檔案路徑首先要檢查CSS檔案的路徑是

重新排列、停用和刪除 iPhone 主畫面頁面的方法 重新排列、停用和刪除 iPhone 主畫面頁面的方法 Nov 29, 2023 am 08:22 AM

在iOS中,Apple允許您停用iPhone上的單一主畫面頁面。還可以重新排列主螢幕頁面的順序,並直接刪除頁面,而不僅僅是停用它們。這是它的工作原理。如何重新排列主畫面頁面觸碰並按住主畫面上的空格以進入抖動模式。輕點代表主螢幕頁面的圓點行。在顯示的主螢幕網格中,輕觸並拖曳頁面以將其相對於其他頁面重新排列。其他人會移動以響應您的拖曳動作。當您對新排列感到滿意時,點擊螢幕右上角的“完成”,然後再次點擊“完成”以退出抖動模式。如何停用或刪除主畫面頁面觸碰並按住主畫面上的空格可進入抖動模式。輕點代表主螢幕

3秒跳轉頁面實作方法:PHP程式指南 3秒跳轉頁面實作方法:PHP程式指南 Mar 25, 2024 am 10:42 AM

標題:3秒跳轉頁面實作方法:PHP程式設計指南在網頁開發中,頁面跳轉是常見的操作,一般情況下我們使用HTML中的meta標籤或JavaScript的方法進行頁面跳轉。不過,在某些特定的情況下,我們需要在伺服器端進行頁面跳轉。本文將介紹如何使用PHP程式實作一個在3秒內自動跳到指定頁面的功能,同時會給出具體的程式碼範例。 PHP實現頁面跳躍的基本原理PHP是一種在

利用ThinkPHP6實現漂亮的404頁面 利用ThinkPHP6實現漂亮的404頁面 Jun 20, 2023 am 11:06 AM

隨著網路的日益發展,許多網站或應用程式也逐漸變得複雜。當使用者在使用時,時常會遇到錯誤頁面,其中最常見的就是404頁面。 404頁面指造訪的頁面不存在,是常見的錯誤頁面。而對於網站或應用程式來說,一個漂亮的404頁面能大幅提升使用者體驗。在本文中,我們將會介紹如何利用ThinkPHP6快速實現一個漂亮的404頁面。創建路由首先,我們需要在route資料夾中建立一個err

Word刪除一頁內容的方法介紹 Word刪除一頁內容的方法介紹 Mar 26, 2024 am 10:06 AM

標題:Word刪除一頁內容的方法介紹在使用MicrosoftWord編輯文件時,有時會遇到需要刪除某一頁內容的情況,可能是想刪除文件中的一頁空白頁或某一頁不需要的內容。針對這種情況,我們可以採取一些方法來快速、有效地刪除一頁內容。接下來,將介紹一些在MicrosoftWord中刪除一頁內容的方法。方法一:刪除一頁內容首先,開啟需要編輯的Word文件。定

See all articles