首頁 > web前端 > js教程 > 主體

Vue.js中多頁面專案如何配置

小云云
發布: 2018-03-10 15:33:42
原創
2385 人瀏覽過

首先使用如下的命令建立一個新的Vue.js 專案

vue init webpack vue-3
登入後複製

使用VsCode 開啟專案之後,在命令列進入到專案中去,安裝相關的依賴函式庫,然後執行專案,執行下面的命令

cd vue-3npm installnpm run dev
登入後複製

在一切正常的情況下,在瀏覽器輸入http://localhost:8080 應該會彈出一個含有大大的V 字圖示的頁面。


完成上面的準備工作之後,接下來我們就來實現多頁面項目的配置,我們預期希望實現的效果如下:

#在瀏覽器輸入http:// localhost:8080/admin 就會跳到顯示這裡是管理員登入 的頁面。

我們在專案的src 目錄下建立page/login 目錄
然後在login 目錄下新建三個資料夾: admin.html admin.js Admin.vue

#然後寫對應的頁面顯示程式碼,其中
admin.html 中的程式碼如下

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

Admin.vue 中的程式碼如下

<template>
  <p id="admin">
      <p>这里是管理员登录页面</p>
  </p></template><script>export default {
  name: &#39;Admin&#39;}</script>
登入後複製
登入後複製

admin.js 中的程式碼如下

import Vue from &#39;vue&#39;import Admin from &#39;./Admin.vue&#39;Vue.config.productionTip = false/* eslint-disable no-new */new Vue({
  el: &#39;#admin&#39;,
  components: { Admin },
  template: &#39;<Admin/>&#39;})
登入後複製

上面顯示頁面的程式碼完成之後,開始進行設定工作

先開啟build目錄
webpack.base.conf.js檔案的entry 設定屬性加上新的入口檔案:

module.exports = {  context: path.resolve(__dirname, &#39;../&#39;),  entry: {    app: &#39;./src/main.js&#39;,    admin: &#39;./src/page/login/admin.js&#39;
  },
登入後複製
登入後複製

webpack.dev.conf.js檔案的devServer下的rewrites新增重定向:

  devServer: {    clientLogLevel: &#39;warning&#39;,
    historyApiFallback: {
      rewrites: [
        { from: /.admin/, to: path.posix.join(config.dev.assetsPublicPath, &#39;src/indexlogin/admin.html&#39;) },        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, &#39;index.html&#39;) },
      ],
    },
登入後複製
登入後複製

同樣要在該檔案中的plugins設定項內多設定一個HtmlWebpackPlugin插件,用於產生admin.html 的入口頁
同時新增chunks ,用於指定在前面entry對應的入口檔案的別名。

  plugins: [    new webpack.DefinePlugin({      &#39;process.env&#39;: require(&#39;../config/dev.env&#39;)
    }),    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: &#39;index.html&#39;,      template: &#39;index.html&#39;,      chunks:[&#39;app&#39;],      inject: true
    }),    new HtmlWebpackPlugin({      filename: &#39;src/page/login/admin.html&#39;,      template: &#39;src/page/login/admin.html&#39;,      chunks:[&#39;admin&#39;],      inject: true
    }),
登入後複製
登入後複製

然後我們找到config 目錄,打開裡面的index.js 文件,在build屬性下添加如下程式碼

  build: {    // Template for index.html    index: path.resolve(__dirname, &#39;../dist/index.html&#39;),
    admin: path.resolve(__dirname, &#39;../dist/src/page/login/admin.html&#39;),
登入後複製
登入後複製

以上完成所有的設定工作,在命令列重新執行npm run dev ,專案啟動後,在瀏覽器鍵入http://localhost:8080/admin ,就成功的跳到剛剛我們寫的頁面去了。

首先使用以下的命令建立一個新的Vue.js 專案

vue init webpack vue-3
登入後複製

使用VsCode 開啟專案之後,在命令列進入到專案中去,安裝相關的依賴函式庫,然後執行專案,執行下面的命令

cd vue-3npm installnpm run dev
登入後複製

在一切正常的情況下,在瀏覽器輸入http://localhost:8080 應該會彈出一個含有大大的V 字圖示的頁面。


完成上面的準備工作之後,接下來我們就來實現多頁面項目的配置,我們預期希望實現的效果如下:

#在瀏覽器輸入http:// localhost:8080/admin 就會跳到顯示這裡是管理員登入 的頁面。

我們在專案的src 目錄下建立page/login 目錄
然後在login 目錄下新建三個資料夾: admin.html admin.js Admin.vue

#然後寫對應的頁面顯示程式碼,其中
admin.html 中的程式碼如下

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

Admin.vue 中的程式碼如下

<template>
  <p id="admin">
      <p>这里是管理员登录页面</p>
  </p></template><script>export default {
  name: &#39;Admin&#39;}</script>
登入後複製
登入後複製

admin.js 中的程式碼如下

import Vue from &#39;vue&#39;import Admin from &#39;./Admin.vue&#39;Vue.config.productionTip = false/* eslint-disable no-new */new Vue({
  el: &#39;#admin&#39;,
  components: { Admin },
  template: &#39;<Admin/>&#39;})
登入後複製

上面顯示頁面的程式碼完成之後,開始進行設定工作

先開啟build目錄
webpack.base.conf.js檔案的entry 設定屬性加上新的入口檔案:

module.exports = {  context: path.resolve(__dirname, &#39;../&#39;),  entry: {    app: &#39;./src/main.js&#39;,    admin: &#39;./src/page/login/admin.js&#39;
  },
登入後複製
登入後複製

webpack.dev.conf.js檔案的devServer下的rewrites新增重定向:

  devServer: {    clientLogLevel: &#39;warning&#39;,
    historyApiFallback: {
      rewrites: [
        { from: /.admin/, to: path.posix.join(config.dev.assetsPublicPath, &#39;src/indexlogin/admin.html&#39;) },        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, &#39;index.html&#39;) },
      ],
    },
登入後複製
登入後複製

同樣要在該檔案中的plugins設定項內多設定一個HtmlWebpackPlugin插件,用於產生admin.html 的入口頁
同時新增chunks ,用於指定在前面entry對應的入口檔案的別名。

  plugins: [    new webpack.DefinePlugin({      &#39;process.env&#39;: require(&#39;../config/dev.env&#39;)
    }),    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: &#39;index.html&#39;,      template: &#39;index.html&#39;,      chunks:[&#39;app&#39;],      inject: true
    }),    new HtmlWebpackPlugin({      filename: &#39;src/page/login/admin.html&#39;,      template: &#39;src/page/login/admin.html&#39;,      chunks:[&#39;admin&#39;],      inject: true
    }),
登入後複製
登入後複製

然後我們找到config 目錄,打開裡面的index.js 文件,在build屬性下添加如下程式碼

  build: {    // Template for index.html    index: path.resolve(__dirname, &#39;../dist/index.html&#39;),
    admin: path.resolve(__dirname, &#39;../dist/src/page/login/admin.html&#39;),
登入後複製
登入後複製

以上完成所有的設定工作,在命令列重新執行npm run dev ,專案啟動後,在瀏覽器鍵入http://localhost:8080/admin ,就成功的跳到剛剛我們寫的頁面去了。

相關推薦:

vue-cli開發多頁面應用程式的簡單範例

Vue-cli建立單一頁面到多頁面的方法實例程式碼

如何將Vue-cli 改造成支援多頁面的history模式

以上是Vue.js中多頁面專案如何配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板