vue基础与项目构建入门

vue基础与项目构建入门

最近两年,同窗们出去讨论前端的框架,相信你们对vue也并不陌生,vue、angular、React并称前端三大框架!各有各的特点,在这里说一下,咱们很是有必要学习这些东西,无论是求职面试,仍是公司须要!css

什么是vue

Vue.js(读音 /vjuː/,相似于 view) 是一套构建用户界面的渐进式框架。与其余重量级框架不一样的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不只易于上手,还便于与第三方库或既有项目整合。另外一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也彻底可以为复杂的单页应用程序提供驱动!html

首先建立一个HTML,咱们加入下边两行代码前端

//引入vue
<script src="https://unpkg.com/vue"></script>


<div id="app">
  {{ message }}
</div>

//挂载vue
var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})

最后浏览器会打印出Hello Vue!vue

今天教你们的不是这个,是怎样使用vue-cli和如何依据cli,本身搭建咱们本身须要的项目node

vue-cli构建

npm install -g vue-cli
vue init webpack my-project
cd my-project
npm install
npm run dev

输入npm run dev以后会进入一个欢迎页面!webpack

只须要5步咱们的vue项目就构建完毕了,
你们看一下构建出来的项目结构!git

├── build // webpack/node配置文件
│   ├── build.js
│   ├── check-versions.js
│   ├── dev-client.js
│   ├── dev-server.js
│   ├── utils.js
│   ├── vue-loader.conf.js
│   ├── webpack.base.conf.js
│   ├── webpack.dev.conf.js
│   └── webpack.prod.conf.js
├── config // 环境配置文件
│   ├── dev.env.js
│   ├── index.js
│   └── prod.env.js
├── node_modules // npm包文件
├── src // 静态资源文件
│   ├── assets
│   │    └── logo.png
│   ├── components 
│   │    └── Hello.vue 
│   ├── router
│   │    └── index.js 
│   ├── App.vue 
│   └── main.js
├── static
├── .babelrc // babel配置文件
├── .gitignore // gitignore忽略文件
├── .editorconfig // 编码风格配置文件
├── .postcssrc.js // postcss配置文件
├── package.json // node包管理文件
├── index.html // 首页模板
├── package.json // 包管理文件
└── README.md // 描述文件

是否是特别的复杂,下边咱们依据项目目录搭建咱们须要的架构!web

咱们分析需求咱们须要这些东西面试

  • 文件/文件夹建立
  • package.json文件建立
  • webpack配置文件建立
  • 入口文件建立
  • vue组件编写
  • 路由配置

下边咱们根据结构拆分为下边这样,你们创建文件夹,一一创建vue-router

文件夹建立

图片描述

package.json文件

{
  "name": "vue2",
  "version": "1.0.0",
  "description": "",
  "main": "webpack.config.js",
  "scripts": {
    "dev": "webpack-dev-server",
    "build": "rimraf dist && cross-env NODE_ENV=prod&&webpack -p --config ./webpack.config.js"
  },
  "dependencies": {},
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.25.0",
    "babel-loader": "^7.1.1",
    "babel-preset-env": "^1.6.0",
    "extract-text-webpack-plugin": "^3.0.0",
    "html-webpack-plugin": "^2.29.0",
    "install": "^0.10.1",
    "npm": "^5.3.0",
    "vue": "^2.4.2",
    "webpack": "^3.4.1",
    "webpack-dev-server": "^2.6.1"
  }
}

输入

npm install

初始化咱们的项目,会给你安装一个npm包!

webpack配置文件

module.exports = {
    ...

    module: {    
        rules: [
            {
                test: /\.vue$/,
                loader: 'vue-loader',
            },
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/
            },
        ]
    },

    ...

}

配置项目入口文件entry.js,

// entry.js
import { app } from './app.js'

app.$mount('#app')
// app.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'

const app = new Vue({
    router,
    ...App
})

export { app, router }

vue组件编写

咱们建立一个最简单的index.vue项目,咱们以前已经建立好了

<template>
    <h1>hello world!</h1>
</template>

<script>
//能够写vue语法
</script>

<style>
//能够写css
</style>

同时咱们须要编写最外层父组件App.vue,通常像下面这样,主要嵌套一层router-view来动态展现不一样路由下的内容:

<template>
    <router-view></router-view>
</template>

<script>

</script>

<style>

</style>

配置一下咱们的路由

import Vue from 'vue' // 引入vue
import Router from 'vue-router'  // 引入路由

Vue.use(Router) // 注册路由

import Index from '../views/index.vue'  // 引入咱们刚刚编写的简单的组件

export default new Router({
    mode: 'hash',
    routes: [
        {
            path: '/',
            name: 'index',
            component: Index,
        },
        { 
            path: '*', 
            redirect: '/' 
        }, 
    ]
})

webpack-dev-server

npm install webpack-dev-server --save-dev

在package.json配置启动命令

"scripts": {
    "dev": "webpack-dev-server",
    "build": "rimraf dist && cross-env NODE_ENV=prod&&webpack -p --config ./webpack.config.js"
}

启动webpack-dev-server,你会看到hello world!这几个大字,这样你们就能够进行本身的项目编写了!

相关文章
相关标签/搜索