vue項目環(huán)境搭建?啟動?移植操作示例及目錄結(jié)構(gòu)分析
項目搭建
下載node
官網(wǎng)下載安裝包,傻瓜式安裝:https://nodejs.org/zh-cn/
安裝cnpm,用淘寶源:
npm install -g cnpm --registry=https://registry.npm.taobao.org
檢測是否安裝成功:cnpm -version

安裝腳手架:
cnpm install -g @vue/cli
清空緩存處理:
npm cache clean --force
項目創(chuàng)建
創(chuàng)建項目:
vue create 項目名 // 要提前進入目標(biāo)目錄(項目應(yīng)該創(chuàng)建在哪個目錄下) // 選擇自定義方式創(chuàng)建項目,選取Router, Vuex插件
一步一步的選擇:


babel:把ES6的語法自動轉(zhuǎn)換成ES5。瀏覽器對ES5兼容最好
TypeScript:TS的環(huán)境
Progressive:前臺優(yōu)化機制,有很多的插件
Router:前臺路由
Vuex:前臺倉庫,相當(dāng)于全局單例,完成個組件間傳參的。
在一個地方給一個對象賦值,在任何地方拿到的值都是一樣的
CSS Pre-processors:預(yù)編譯器 less sass css預(yù)編譯器,最終轉(zhuǎn)換成原生的css,瀏覽器才能識別。
我們用原生CSS,所以這個不用安裝
Linter / Formatter:代碼規(guī)范。如果代碼寫的不規(guī)范直接報錯。前端工程師會安裝,因為代碼規(guī)范。
Unit Testing:測試用的
E2E Testing:測試用的



項目啟動停止
cnpm run serve / ctrl+c // 要提前進入項目根目錄


推薦使用pycharm啟動項目:
創(chuàng)建啟動方式npm




cnpm install 重新構(gòu)建項目依賴環(huán)境
項目目錄結(jié)構(gòu)分析
├── v-proj | ├── node_modules // 當(dāng)前項目所有依賴,一般不可以移植給其他電腦環(huán)境 | ├── public | | ├── favicon.ico // 標(biāo)簽圖標(biāo) | | └── index.html // 當(dāng)前項目唯一的頁面 | ├── src | | ├── assets // 靜態(tài)資源img、css、js | | ├── components // 小組件 | | ├── views // 頁面組件 | | ├── App.vue // 根組件 | | ├── main.js // 全局腳本文件(項目的入口) | | ├── router | | | └── index.js// 路由腳本文件(配置路由 url鏈接 與 頁面組件的映射關(guān)系) | | └── store | | | └── index.js// 倉庫腳本文件(vuex插件的配置文件,數(shù)據(jù)倉庫) | ├── README.md └ └── package.json等配置文件
全局腳本配置
1)main.js是項目的入口文件
2)new Vue()就是創(chuàng)建根組件,用render讀取一個.vue文件,$mount渲染替換index.html中的占位
3)項目所依賴的環(huán)境,比如:vue環(huán)境、路由環(huán)境、倉庫環(huán)境、第三方環(huán)境、自定義環(huán)境都是在main.js中完成
import Vue from 'vue' // 加載vue環(huán)境
import App from './App.vue' // 加載根組件
import router from './router' // 加載路由環(huán)境
import store from './store' // 加載數(shù)據(jù)倉庫環(huán)境
Vue.config.productionTip = false; // tip小提示
import FirstCP from './views/FirstCP'
new Vue({
el: '#app',
router: router,
store: store,
render: function (readVueFn) {
return readVueFn(FirstCP); // 讀取FirstCP.vue替換index.html中的占位
}
});index.html詳細(xì)介紹
單頁面:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico" rel="external nofollow" >
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<div id="app"></div> // 占位的。其他的頁面來替換它,實現(xiàn)頁面跳轉(zhuǎn)
</body>
</html>


main.js入口文件詳細(xì)
import Vue from 'vue'
import App from './App.vue' // 根組件
import router from './router'
import store from './store'
Vue.config.productionTip = false;
new Vue({
router, // router: router, 簡寫
store, // store: store, 簡寫
render: h => h(App) // 箭頭函數(shù) 擴展開:render: function (readVueFn) {
// return readVueFn(FirstCP);
// }
}).$mount('#app');//掛載點,等價與: el: '#app',

1)main.js是項目的入口文件
2)new Vue()就是創(chuàng)建根組件,用render讀取一個.vue文件,$mount渲染替換index.html中的占位
3)項目所依賴的環(huán)境,比如:vue環(huán)境、路由環(huán)境、倉庫環(huán)境、第三方環(huán)境、自定義環(huán)境都是在main.js中完成
App.vue跟組件介紹
<!--
1)App.vue是項目的根組件,是唯一由main.js加載渲染的組件,就是替換index.html頁面中的<div id="app"></div>的占位標(biāo)簽
2)實際開發(fā)中App.vue文件中,只需要書寫下方五行代碼即可(可以額外增加其他代碼)
3)router-view是一個占位標(biāo)簽,由router插件控制,可以在router的配置文件中進行配置
4)router-view就是根據(jù)router在index.js中配置的路由關(guān)系被 指定路徑 匹配 指定頁面組件 渲染
router-view或被不同的頁面組件替換,就形成了頁面跳轉(zhuǎn)
-->
<template>
<div id="app">
<!-- 前臺路由占位標(biāo)簽,末尾的/代表單標(biāo)簽的結(jié)束 -->
<router-view />
</div>
</template>
<style>
body {
margin: 0;
}
</style>
router-index.js 路由介紹
import Vue from 'vue'
import VueRouter from 'vue-router'
// import 別名 from '文件'
import Home from '../views/Home'
import About from '../views/About'
import First from '../views/FirstCP'
import Second from '../views/Second'
Vue.use(VueRouter);
// 路由配置
// 1)當(dāng)用戶在瀏覽器中訪問的路由是 / ,router插件就會加載 Home.vue文件,同理 /about 就是 About.vue文件
// 2)將加載的 Home.vue文件 或者 About.vue文件,去替換App.vue文件中的 <router-view />占位符
// 3)用redirect配置來實現(xiàn)路由的重定向
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/home',
redirect: '/', // 路由的重定向
},
{
path: '/about',
name: 'About',
component: About
},
{
path: '/first',
name: 'First',
component: First
},
{
path: '/second',
name: 'Second',
component: Second
}
];
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
});
export default router
以上就是vue項目環(huán)境搭建 啟動 移植操作示例及目錄結(jié)構(gòu)分析 的詳細(xì)內(nèi)容,更多關(guān)于vue項目環(huán)境搭建 啟動 移植 目錄結(jié)構(gòu)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue?使用addRoutes動態(tài)添加路由及刷新頁面跳轉(zhuǎn)404路由的問題解決方案
我自己使用addRoutes動態(tài)添加的路由頁面,使用router-link標(biāo)簽可以跳轉(zhuǎn),但是一刷新就會自動跳轉(zhuǎn)到我定義的通配符?*?指向的404路由頁面,這說明沒有找到指定路由才跳到404路由的,這樣的情況如何處理呢,下面小編給大家分享解決方案,一起看看吧2023-10-10
vue+vant-UI框架實現(xiàn)購物車的復(fù)選框全選和反選功能
這篇文章主要介紹了vue+vant-UI框架實現(xiàn)購物車的復(fù)選框全選和反選功能,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11
在vue中使用axios實現(xiàn)post方式獲取二進制流下載文件(實例代碼)
這篇文章主要介紹了在vue中使用axios實現(xiàn)post方式獲取二進制流下載文件的相關(guān)資料,需要的朋友可以參考下2019-12-12
vue使用ElementUI時導(dǎo)航欄默認(rèn)展開功能的實現(xiàn)
這篇文章主要介紹了vue使用ElementUI時導(dǎo)航欄默認(rèn)展開功能的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07
vue3使用vis繪制甘特圖制作timeline可拖動時間軸及時間軸中文化(推薦)
這篇文章主要介紹了vue3使用vis繪制甘特圖制作timeline可拖動時間軸,時間軸中文化,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02

