[TOC]
# npm run build 命令
如何把寫好的Vue網頁放到服務器上,主要的命令就是要用到npm run build 命令。我們在命令行中輸入npm run build命令后,vue-cli會自動進行項目發布打包。你在package.json文件的scripts字段中可以看出,你執行的npm run build命令就相對執行的 node build/build.js
package.json的scripts 字段:
~~~
"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js"
},
~~~
在執行完npm run build命令后,在你的項目根目錄生成了dist文件夾,這個文件夾里邊就是我們要傳到服務器上的文件。
dist文件夾下目錄包括:
* index.html 主頁文件:因為我們開發的是單頁web應用,所以說一般只有一個html文件。
* static 靜態資源文件夾:里邊js、CSS和一些圖片
# main.js文件解讀
main.js是整個項目的入口文件,在src文件夾下
~~~
import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false //生產環境提示,這里設置成了false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})
~~~
通過代碼可以看出這里引進了App的組件和<App/>的模板,它是通過` import App from ‘./App’`這句代碼引入的。 我們找到App.vue文件,打開查看
# App.vue文件
~~~
<template>
<div id="app">
<img src="./assets/logo.png">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'app'
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
~~~
app.vue文件我們可以分成三部分解讀,
* `<template></template>`標簽包裹的內容:這是模板的HTMLDom結構,里邊引入了一張圖片和<router-view></router-view>標簽,<router-view>標簽說明使用了路由機制。我們會在以后專門拿出一篇文章講Vue-router。
* `<script></script>`標簽包括的js內容:你可以在這里些一些頁面的動態效果和Vue的邏輯代碼。
* `<style></style>`標簽包裹的css內容:這里就是你平時寫的CSS樣式,對頁面樣子進行裝飾用的,需要特別說明的是你可以用`<style scoped></style>`來聲明這些css樣式只在本模板中起作用
# `router/index.js` 路由文件
引文在app.vue中我們看到了路由文件,雖然router的內容比較多,但是我們先簡單的看一下。下篇文章我們就開始講Vue-router。
~~~
import Vue from 'vue'
import Router from 'vue-router'
import Hello from '@/components/Hello'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Hello',
component: Hello
}
]
})
~~~
我們可以看到` import Hello from ‘@/components/Hello’`這句話, 文件引入了`/components/Hello.vue`文件。這個文件里就配置了一個路由,就是當我們訪問網站時給我們顯示Hello.vue的內容
- HTML
- 標簽
- 超鏈接
- 列表
- 表格和表單
- h5新增標簽
- 快捷方式
- 標簽包含
- CSS
- 選擇器
- 行內,塊元素,鏈接
- css三大特性
- 盒子模型
- 定位
- css可見性
- emment書寫
- 文本元素
- 外觀屬性
- 背景
- 浮動
- ps
- 用戶界面樣式
- 顯示和隱藏
- 過渡
- 2D,3D變形
- 動畫animation
- 伸縮布局(CSS3)
- BFC
- 優雅降級和漸進增強
- 3D旋轉
- 雙飛翼和圣杯
- JS基礎
- 輸出消息的幾種方式
- 數據類型
- Date對象
- Math對象
- Array對象
- 字符串常用方法
- 數據類型轉換
- 等號運算
- 代碼調試
- 數組
- 函數
- WebAPI
- webapi簡介
- 獲取頁面元素
- 事件
- 屬性操作
- 創建元素
- 節點操作
- 事件詳解
- BOM
- 位置相關屬性
- 拖拽彈窗
- 彈出層加遮罩
- ES6
- let和const
- 解構表達式變化
- 函數優化
- map和reduce
- nrm
- npm
- npm基礎
- package.json
- 淘寶鏡像
- webpack
- 介紹
- 多入口文件(Multiple entry files)
- Webpack CSS loader加載器
- webpack Image loader 加載圖片
- uglify-js壓縮打包JS
- webpack構建本地服務器
- vue內部指令
- v-if,v-show,v-for
- v-text,v-html
- v-on
- v-model
- v-bind
- v-pre,v-cloak,v-once
- vue全局api
- Vue.directive 自定義指令
- vue.extend構造器的延伸
- vue.set全局操作
- Vue的生命周期(鉤子函數)
- Template 制作模版
- Component 初識組件
- Component 組件props 屬性設置
- Component 父子組件關系
- Component 標簽
- vue選項
- propsData Option全局擴展數據傳遞
- computed Option 計算選項
- Methods Option 方法選項
- watch選項監控數據
- Mixins 混入選項操作
- Extends Option 擴展選項
- delimiters 選項
- vue實例和內置組件
- 實例屬性
- 實例方法
- 實例事件
- 內置組件 -slot
- vue-cli
- vue-cli介紹
- 項目目錄結構
- vue-cli模板
- vue-router
- 簡介
- 配置子路由
- 參數傳遞
- 單頁面多路由區域操作
- url傳遞參數
- vscode