日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue项目开发目录结构和引用调用关系

發布時間:2023/12/31 vue 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue项目开发目录结构和引用调用关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文精華總結:在項目運行中,main.js作為項目的入口文件,運行中,找到其實例需要掛載的位置,即index.html中,剛開始,index.html的掛載點處的內容會被顯示,但是隨后就被實例中的組件中的模板中的內容所取代,所以我們會看到有那么一瞬間會顯示出index.html中正文的內容,而index.html中的Title部分不會被取代,所以會一直保留。

下圖為Vue項目文件夾:

以下就項目文件夾中的各文件的作用進行介紹:

├── build/ # Webpack 配置目錄 ├── dist/ # build 生成的生產環境下的項目 ├── config/ # Vue基本配置文件,可以設置監聽端口,打包輸出等 ├── node_modules/ # 依賴包,通常執行npm i會生成 ├── src/ # 源碼目錄(開發的項目文件都在此文件中寫) │ ├── assets/ # 放置需要經由 Webpack 處理的靜態文件,通常為樣式類文件,如css,sass以及一些外部的js │ ├── components/ # 公共組件 │ ├── filters/ # 過濾器 │ ├── store/      # 狀態管理 │ ├── routes/ # 路由,此處配置項目路由 │ ├── services/ # 服務(統一管理 XHR 請求) │ ├── utils/ # 工具類 │ ├── views/ # 路由頁面組件 │ ├── App.vue # 根組件 │ ├── main.js # 入口文件 ├── index.html # 主頁,打開網頁后最先訪問的頁面 ├── static/ # 放置無需經由 Webpack 處理的靜態文件,通常放置圖片類資源 ├── .babelrc # Babel 轉碼配置 ├── .editorconfig # 代碼格式 ├── .eslintignore # (配置)ESLint 檢查中需忽略的文件(夾) ├── .eslintrc # ESLint 配置 ├── .gitignore # (配置)在上傳中需被 Git 忽略的文件(夾) ├── package.json # 本項目的配置信息,啟動方式 ├── package-lock.json # 記錄當前狀態下實際安裝的各個npm package的具體來源和版本號 ├── README.md # 項目說明(很重要,便于其他人看懂)

我們以后用到最多的就是src文件夾,因為我們編寫的代碼要放在里面。

一開始在學習Vue中,總是理解不清楚各文件之間的邏輯,所以導致自己一直在原地徘徊,在自己嘗試了微信小程序的開發之后,大致有了一個模糊的分時,反過頭來繼續從事Vue項目的開發,結果原來理不清的東西都豁然開朗了。
在根目錄下存在index.html文件,在src目錄下存在main.js,App.vue以及在router文件夾下存在index.js,搞清楚這幾個文件之間的關系將對后續開發理清思路。

index.html—主頁,項目入口

index.html為項目訪問的首站點,一般我們之定義一個空的根節點,在main.js里面定義的實例將掛載到根節點下,內容都通過vue組件來進行填充。

<!DOCTYPE html> <html><head><meta charset="utf-8"><title>首頁title</title></head><body><div id="app"></div><!-- built files will be auto injected --></body> </html>

App.vue—根組件

我們在Vue中要經常建立后綴名為.vue的文件,.vue的文件通常由三部分構成,分別用,與標簽包裹。

我們可以將上述三個部分理解為原來我們學習前端的html,javascript與css三個部分。

其中,通常建立我們要用的網頁界面,通常與數據打交道,定義數據的首發方式等,面向邏輯,而主要負責標簽中的樣式。

上面三者的結合,就構成了我們所見到的網頁,一般我們在開發新的頁面中一般是建立一個新的.vue文件,在文件中完成三個環節的編寫。

<template><div id="app"><router-view></router-view></div> </template><script> export default {name: "app" }; </script> <style> .add-container {margin-bottom: 20px; } </style>

補充:

【template】

其中模板只能包含一個父節點,也就是說頂層的div只能有一個(例如上圖,父節點為#app的div,其沒有兄弟節點)

是子路由視圖,后面的路由頁面都顯示在此處

打一個比喻吧,類似于一個插槽,跳轉某個路由時,該路由下的頁面就插在這個插槽中渲染顯示

【script】

vue通常用es6來寫,用export default導出,其下面可以包含數據data,生命周期(mounted等),方法(methods)等。

【style】

樣式通過style標簽

如要引入外部css文件,首先需給項目安裝css-loader依賴包,打開cmd,進入項目目錄,輸入npm install css-loader,回車。安裝完成后,就可以在style標簽下import所需的css文件。這樣,我們就可以把style下的樣式封裝起來,寫到css文件夾,再引入到頁面使用,整個vue頁面也看上去更簡潔。

<style> import './assets/css/public.css' </style>

main.js—入口文件

main.js主要是引入vue框架,根組件及路由設置,并且定義vue實例,下圖中的

components:{App}就是引入的根組件App.vue

后期還可以引入插件,當然首先得安裝插件。

主要作用是初始化vue實例并使用需要的插件。

import Vue from 'vue' /*引入vue框架*/ import ElementUI from 'element-ui' /*引入element-ui樣式*/ import App from './App' /*引入根組件*/ import router from './router' /*引入路由設置*/

Vue.config.productionTip = false /關閉生產模式下給出的提示/

/定義一個新實例/

new Vue({el: '#app',router,store,template: '<App/>',components: { App } /*此處為引入的根組件的App.vue*/ })

router.js—路由配置

在router文件夾下,有一個index.js文件,即為路由配置文件。

import Vue from ‘vue’ /引入vue框架/
import Router from ‘vue-router’ /引入路由依賴/
import Hello from ‘@、components/Hello’ /引入頁面組件,命名為Hello/

Vue.use(Router) /使用路由依賴/

/*定義路由*/ export default new Router({router:[ {path: '/login',name: 'login',component: login,meta: {title: '登錄頁'},},{path: '/register',component: Register,meta: {title: '注冊頁'}},{path: '/403',component: noPerm},{path: '/',name: 'index',component: Main,meta: {title: '首頁',// perm: true //設置權限(測試)}] })

這里定義了路徑為’/‘的路由,該路由對應的頁面是Hello組件,所以當我們在瀏覽器url訪問http://localhost:8080/#/時就渲染的Hello組件.類似的,我們可以設置多個路由,‘/index’,’/list’之類的,當然首先得引入該組件,再為該組件設置路由。

在webpack的配置文件里,設置了main.js是入口文件,我們的項目默認訪問index.html,這個文件里面<div id="app"></div>和App.vue組件里面的容器完美的重合了,也就是把組件掛載到了index頁面,然后我們只需要去建設其他組件就好了,在App組件中我們也可以引入,注冊,應用其他組件,后面我會介紹如何通過路由將其他組件渲染在App組件,這樣我們就只需要去關注每個組件的功能完善。

就是說vue的默認頁面是index.html,index中的<div id="app"></div>掛載了App.vue這個大組件,然后所有的其他子組件(hello.vue等)都歸屬在App.vue這個主組件下。
main.js 是入口文件,作用是初始化vue實例并使用需要的插件(router等)

關于Vue中main.js,App.vue,index.html之間關系進行總結
在初始化的Vue項目中,我們最先接觸到的就是main.js,App.vue,index.html這三個文件,我們從培訓視頻或者官方文檔上可以了解到:
index.html—主頁,項目入口
App.vue—根組件
main.js—入口文件

那么這幾個文件之間的聯系如何呢?

1.先看index.html中的內容:(為了很好的標識各個文件,我對各文件進行了文字標記)

2.在App.vue中,我做了如下處理:

3.在main.js中,文件初始內容如圖:

那么我們打卡的網頁如何呢?
網頁效果如下:

也就是說,在網頁的Title部分,加載了index.html中定義的Title,而在正文部分,加載了App.vue中定義的部分。(但是需要注意的是,在瀏覽器打開的瞬間,瀏覽器中正文部分會瞬間顯示index.html中定義的正文部分)

那么,我們就可以來分析上述的邏輯了,瀏覽器訪問項目,最先訪問的是index.html文件,

而index.html中

<div id="app">來自index.html正文中的內容</div>

上面有一個id為app的掛載點,之后我們的Vue根實例就會掛載到該掛載點上;

main.js作為項目的入口文件,在main.js中,新建了一個Vue實例,在Vue實例中,通過

new Vue({el: '#app',//components: {App },//template: '<App/>' })

告訴該實例要掛載的地方;(即實例裝載到index.html中的位置)

接著,實例中注冊了一個局部組件App,這個局部組件App來自于哪兒呢?

import App from './App.vue'new Vue({//el: '#app',components: {App },//template: '<App/>' })

這個局部組件是當前目錄下的App.vue;

而起始模板是什么呢?模板就是組件App.vue中的template中的內容。(template會替代原來的的掛載點處的內容)

所以Vue這個實例就是暫時的是App.vue這個組件的內容。

所以,我們進行總結:在項目運行中,main.js作為項目的入口文件,運行中,找到其實例需要掛載的位置,即index.html中,剛開始,index.html的掛載點處的內容會被顯示,但是隨后就被實例中的組件中的模板中的內容所取代,所以我們會看到有那么一瞬間會顯示出index.html中正文的內容。

而index.html中的Title部分不會被取代,所以會一直保留。

總結

以上是生活随笔為你收集整理的Vue项目开发目录结构和引用调用关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩精品电影一区二区 | 君岛美绪在线 | 麻豆综合网| 人物动物互动39集免费观看 | 国产精品永久免费 | 美女日批在线观看 | 久久久久在线视频 | 免费在线视频一区二区 | 亚洲免费观看在线 | 免费精品无码AV片在线观看黄 | 一呦二呦三呦精品网站 | 在线观看的av网址 | 亚洲视频在线观看一区二区三区 | 四虎tv| 黄色片网站在线观看 | 人人干人人舔 | 人妻精品一区一区三区蜜桃91 | 国产美女在线精品 | 99视频网站 | 日本αv | 欧美在线一二三 | 天堂免费在线视频 | 幸福宝在线观看 | 亚洲精品aⅴ | 欧美性猛交xxx乱久交 | 亚洲色图一区二区 | 黄色大片国产 | 亚洲一区二区免费视频 | 黄片毛片在线免费观看 | 男女男精品视频 | 国产成人愉拍精品久久 | 久久97人妻无码一区二区三区 | 日本久久中文字幕 | 经典杯子蛋糕日剧在线观看免费 | 国产三区在线成人av | 色汉综合 | 午夜tv | 人妻少妇精品一区二区 | 超碰免费成人 | av少妇| 日日噜噜噜夜夜爽爽狠狠视频97 | 国产香蕉97碰碰碰视频在线观看 | 最近中文字幕在线观看视频 | www.猫咪av.com| 国产区欧美区日韩区 | 亚洲 自拍 另类 欧美 丝袜 | 极品少妇av | 一级色视频 | 国产精品一区二区入口九绯色 | 国产精品久久久久高潮 | 豆花视频在线播放 | 亚洲国产97| 综合激情伊人 | 国产在线视频91 | 国产大学生视频 | 欧美gv在线 | 一级片99 | 亚洲区av| 亚洲精品一卡 | 麻豆久久久午夜一区二区 | 亚洲成网| 四虎国产精品成人免费入口 | 日本变态折磨凌虐bdsm在线 | 99精品一级欧美片免费播放 | 亚洲第一av网 | 色老太hd老太色hd | 久久久国产精品成人免费 | 黄色的网站在线 | 国产又粗又猛又大爽 | 深夜福利亚洲 | 色中色综合 | 日韩精品一区在线观看 | 亚洲黄色精品 | 轻点好疼好大好爽视频 | 偷偷久久 | 国产吞精囗交免费视频 | 欧洲av无码放荡人妇网站 | a级黄色在线观看 | 不卡av一区 | 日韩成人av影院 | 天降女子在线观看 | 亚洲国产区 | 精品中文字幕在线观看 | 欧美综合自拍 | 久久久久久久久成人 | 免费伊人网 | 超碰在线免费观看97 | 日本三级视频 | 日韩a√| 天天干天天谢 | 亚洲综合色成人 | 福利视频亚洲 | 夜夜爽夜夜 | 一起草视频在线播放 | 黄色免费网页 | 成人一区在线观看 | 亚洲国产av一区 | 色老头影视 | 国产日韩视频在线观看 |