VUE 配置和基本方法的应用

个人写的一个框架 $ npm install learnvue

粗略的介绍一下这个项目     进入 learnve文件

执行 $ npm install    $ npm start

项目的基本结构

 简单介绍目录结build目录是一些webpack的文件,配置参数什么的,一般不用config是vue项目的基本配置文件 node_modules是项目中安装的依赖模块 src源码文件夹,基本上文件都应该放在这里。   —assets 资源文件夹,里面放一些静态资源   —components这里放的都是各个组件文件   —App.vue App.vue组件   —main.js入口文件 static生成好的文件会放在这个目录下。 test测试文件夹,测试都写在这里 .babelrc babel编译参数,vue开发需要babel编译 .editorconfig 看名字是编辑器配置文件,不晓得是哪款编辑器,没有使用过。 .gitignore 用来过滤一些版本控制的文件,比如node_modules文件夹 index.html 主页 package.json 项目文件,记载着一些命令和依赖还有简要的项目描述信息 README.md 介绍自己这个项目的,想怎么写怎么写。不会写就参照github上star多的项目,看人家怎么写的package.jso  dependencies:项目发布时的依赖  devDependencies:项目开发时的依赖

  scripts:编译项目的一些命令

.babelrc文件定义了ES6的转码规则,基于ES6编写的js代码在编译时都会被babel转码器转换为ES5代码。 这里是入口文件,可以引入一些插件或静态资源,当然引入之前要先安装了该插件,在package.json文件中有记录。
```
/*引入Vue框架*/
import Vue from ‘vue‘
/*引入资源请求插件*/
import VueResource from ‘vue-resource‘
/*重置样式*/
import "assets/css/base.css"
/*基本JS*/
import "assets/js/common.js"
/*引入路由设置*/
import "./routers.js"
/*使用VueResource插件*/
Vue.use(VueResource)
```

5.App.vue 
这是一个标准的vue组件,包含三个部分,一个是模板,一个是script,一个是样式,这里需要了解vue的基础。
```
<template>// 模板   必须 写到一个盒子里
 <div id="app">
    <img src="./assets/logo.png">
    <hello></hello>
  </div>
</template>

<script>//书写 js 文档
import Hello from ‘./components/Hello‘

export default {
  name: ‘app‘,
  components: {
    Hello
  }
}
</script>

<style>//  书写css 文档
#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>
``` 官网路由中文手册
前端路由
  在web开发中,路由是指根据url分配到对应的处理程序。
vue-router
  作用:
    通过管理url实现url和组件的对应,
    通过url进行组件之间的切换
```
必须引入router组件 是单独文件
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<div id="app">
  <h1>Hello App!</h1>
  <p>
    <!-- 使用 router-link 组件来导航. -->
    <!-- 通过传入 `to` 属性指定链接. -->
    <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
    <router-link to="/foo">Go to Foo</router-link>
    <router-link to="/bar">Go to Bar</router-link>
  </p>
  <!-- 路由出口 -->
  <!-- 路由匹配到的组件将渲染在这里 -->
  <router-view></router-view>
</div>
```
## 自定义导航标签
tag="li"
tag="div"
 <router-view tag="li"></router-view>
         <router-link to="/user" tag="div" event="mouseover"> 用户</router-link>
        <router-link to="/home" tag="li"> 主页</router-link>
        <router-link to="/about" tag="li" active-class="lishuang-active"> 关于</router-link>
### 统一设置class 名字
new VueRouter({
  mode: ‘history‘,
  linkActiveClass: ‘active‘, //给所有导航统一设置class名字
  单独给导航设置样式名字 写在<router-link active-class="lishuang-active"> 
  active-class="lishuang-active"
### exact 精准匹配
当你把导航设置到 ‘/‘ 导航的激活样式 无论点击哪个都会匹配到跟,这是问题,

在导航里面添加 exact 就可以把这个问题解决

<router-link to="/" exact tag="li"> <a> 首页 </a></router-link> <span class="sr-only">(current)</span>

## 命名视图
在同级同时展示多个视图,而不是嵌套 ```
       <router-view class="text-center" name="slider"></router-view>
        <router-view class="text-center"></router-view>
      在路由里面写:
      记住 component  -> components
      {
      path: ‘/blog‘,
      components: {
        default:Blog,
        slider:Slider
      }
    }
```
### 动态路径
  我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件。例如,我们有一个 User 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染。    那么,我们可以在 vue-router 的路由路径中使用『动态路径参数』
  space:
    当这个页面是商品列表
      点击这个列表进去商品详情
        这个商品详情展示信息,就是通过某个商品的id 去请求api得到的数据。
      这个id 怎么来呢?
  space2:
    当点击用户列表的时候 进入详情,需要根据url上面携带的id 来请求api数据

  axios 使用

      先安装   $ npm i axios vue-axios -D

     在main.js 入口文件里面写

            import Axios from ‘axios‘
            import VueAxios from ‘vue-axios‘
            Vue.use(VueAxios,Axios)

    在其它组件里面调用

	   export default {
	    name: ‘blog‘,
	    created () {
	      this.getGoods()
	    },
	    methods: {
	      getGoods () {
	        this.$http.get(‘api 链接‘)
	          .then((res) => {
	            console.log(res.data)
	          })
	          .catch((error) => {
	            console.log(error)
	          })
	      }
	    }
	  }

  jsonp的使用

$ npm install jsonp -D
	var jsonp = require(‘jsonp‘);

	jsonp(‘api 链接‘, null, function (err, data) {
	  if (err) {
	    console.error(err.message);
	  } else {
	    console.log(data);
	  }
	});

  怎么把css文件从vue文件里面抽离出来单独写?

   把css文件建立在
        src\assets\css\index.css
        src\assets\css\common.css
        src\assets\css\reset.css

        在app.css 里面负责把其它的css引入
        src\assets\css\app.css
    content:
```
            @import ‘./index.css‘;
            @import ‘./common.css‘;
            @import ‘./reset.css‘;
```

    在入口文件引入这个app.css
    src\main.js  //这个就是入口文件

    import ‘@/assets/css/app.css‘ //如果不想加这个后缀css的话就去配置

    import ‘@/assets/css/app‘

  怎么解决不加后缀自动匹配?

 在webpack.base.conf.js 里面找到这个代码

    extensions: [‘.js‘, ‘.vue‘, ‘.json‘],

    这个扩展名,如果想让自己的css也识别就在这加上
    extensions: [‘.js‘, ‘.vue‘, ‘.json‘,‘.css‘],

    更改配置文件之后,要重启vue service

  @是什么意思,很好奇?

在webpack.base.conf.js 里面找到这个代码
        resolve: {
            extensions: [‘.js‘, ‘.vue‘, ‘.json‘],
            alias: {
            ‘vue$‘: ‘vue/dist/vue.esm.js‘,
            ‘@‘: resolve(‘src‘)
            }
        },
    看到alias 这个别名 发现 ‘@‘: resolve(‘src‘),突然明白
    @ 就是代表路径 src
    import ‘@/assets/css/app‘ 相当于 import ‘src/assets/css/app‘

  vue配置jQuery

var webpack = require(‘webpack‘)

output: {
    path: config.build.assetsRoot,
    filename: ‘[name].js‘,
    publicPath: process.env.NODE_ENV === ‘production‘
      ? config.build.assetsPublicPath
      : config.dev.assetsPublicPath
  },
  resolve: {
    extensions: [‘.js‘, ‘.vue‘, ‘.json‘,‘.css‘],
    alias: {
      ‘vue$‘: ‘vue/dist/vue.esm.js‘,
      ‘@‘: resolve(‘src‘),
      ‘jquery‘: ‘jquery‘
    }
  },
  plugins: [
    new webpack.ProvidePlugin({
      jQuery: "jquery",
      $: "jquery"
    })
  ],

  

时间: 2024-10-13 23:29:04

VUE 配置和基本方法的应用的相关文章

vue i18n 国际化 使用方法

1 先安装 npm install vue-i18n 2  新建文件assets/js/i18n.js 3  引入vue-i18n并注册到vue上 import VueI18n from 'vue-i18n' import Vue from 'vue' Vue.use(VueI18n) let locale = 'zh-CN' // 我这里进行了sessionStoraage配置 // sessionStorage.getItem('vuex') ? sessionStorage.getItem

react和vue配置本地代理

React 在react中配置开发环境下的本地代理相对比较简单,直接在package.json文件中修改即可. 但是这样做有其局限性,如果开发中代理多个接口的时候将无法满足需求,我们需要的是下面这种的能够代理多个接口的请求方式 proxy('/back', { target: 'http://172.20.1.148:8082', changeOrigin: true }) 1):安装http-proxy-middleware管理包,npm i http-proxy-middleware --s

Spring配置bean的方法(工厂方法和Factorybean)

通过工厂方法配置bean 通过调用静态工厂方法创建bean 通过静态工厂方法创建bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不关心创建对象的细节. 要声明通过静态方法创建的bean,需要在bean的class属性里指定拥有该工厂的方法的类,通知在factory-method属性里指定工厂方法的名称, 最后,使用<constructor-arg>元素为该方法传递方法参数 通过调用实例工厂方法创建bean 实例工厂方法:将对象的创建过程封装到另外一个

Android x86模拟器Intel Atom x86 System Image配置与使用方法

Android x86模拟器Intel Atom x86 System Image配置与使用方法      前言:      大家现在开发使用的Android 模拟器模拟的是 ARM 的体系结构(arm-eabi),因此模拟器并不是运行在x86上而是模拟的ARM,所以我们调试程序的时候经常感觉到非常慢,大部分开发者应该都深有体会.      针对这种情况,前段时间Intel推出了支持x86的Android模拟器,这将大大提高启动速度和程序的运行速度,这将允许Android模拟器能够以原始速度(真

64位win2003/win2008系统IIS6.0/7.5配置PHP的方法

64位win2003/win2008系统IIS6.0/7.5配置PHP的方法 32位的win2003系统配置PHP,估计很多人都已经驾轻就熟了,不过当遇到64位的系统时,估计又会遇上新的问题了.本文记录了我在64位win2003/win2008系统IIS6.0/7.5配置PHP的方法,第一次配置的人可以参考参考. 64位win2008系统IIS7.5配置PHP环境 用惯IIS6.0的人,对IIS7.5的界面尤为陌生,操作习惯也大不一样,不过这都很容易就上手,就如第一次操作IIS6.0一样. 64

Spring配置bean的方法(工厂方法和Factorybean)【转】

通过工厂方法配置bean 通过调用静态工厂方法创建bean 通过静态工厂方法创建bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不关心创建对象的细节. 要声明通过静态方法创建的bean,需要在bean的class属性里指定拥有该工厂的方法的类,通知在factory-method属性里指定工厂方法的名称, 最后,使用<constructor-arg>元素为该方法传递方法参数 通过调用实例工厂方法创建bean 实例工厂方法:将对象的创建过程封装到另外一个

VisualSVN Server以及TortoiseSVN客户端的配置和使用方法

一.VisualSVN Server的配置和使用方法[服务器端] 好的,下面我来添加一个代码库[Repository],如下图: 按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称: 注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk.branches.tags三个子目录:不选中,则只创建空的代码库StartKit. 点击OK按钮,代码库就创建成功了. 创建完代码库后,没有任何内容在里面.我会在这个教程的第二部分说明如何迁入源代码. 下面,我们开始

YUM 源配置与使用方法

Cen  YUM 源配置与使用方法 一. YUM简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的[email protected] 开发团队进行改进,遂有此名.yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关

Spring配置bean的方法

通过工厂方法配置bean 通过调用静态工厂方法创建bean 通过静态工厂方法创建bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不关心创建对象的细节. 要声明通过静态方法创建的bean,需要在bean的class属性里指定拥有该工厂的方法的类,通知在factory-method属性里指定工厂方法的名称, 最后,使用<constructor-arg>元素为该方法传递方法参数 通过调用实例工厂方法创建bean 实例工厂方法:将对象的创建过程封装到另外一个