vue入门笔记

作者: 网络编程  发布:2019-12-23

一、Vue介绍

webpack属性配置

javascript(参考webpack.config.js)

const path=require(‘path’)
const htmlWebpackPlugin=require('html-webpack-plugin');
module.exports={ 
    entry:{ //main是默认入口,也可以是多入口
        main:’./src /main.js’,
    },
    output:{ //出口
        path:path.join(__dirname , ’..’ , ’dist’)’’, //最好是绝对路径
        //代表当前目录的上一级的dist
        filename:’./build.js’ //指定js文件
    },
    module:{
        //loader与rules一样的功能,rules是webpack2.x之后新加的,用一种即可
        loaders:[  
            {
                test:/.css$/,
                loader:’style-loader!css-loader’,//顺序是反过来的2!1
            },
            {
                test:/.(jpg|svg|png|gif)$/i,
                loader:’url-loader?limit=4096&name=[name].[ext]’,
                    // [name].[ext]内置提供的,文件名,后缀名
                options:{//参数可以拼在loader里也可以写在options里,选一种即可
                    limit:4096,
                    name:’ [name].[ext]’
                }
            }

        ]
    },
    plugins:[
        //插件的执行顺序是依次的,和loader是相反的
        new htmlWebpackPlugin({
            template:’./src/index.html’
            //将src下的template属性描述的文件根据当前配置的output.path,将文件移动到该目录
        })
    ]
}

vue的作者叫尤雨溪,中国人。

webpack-ES6的处理

  • ES6的模块,vue本身默认支持es6的模块导入导出
  • babel
    • babel-loader ( 内部依赖babel-core )
      • 关键字 (presets es2015)
  • 函数 ( plugins babel-plugin-transform-runtime )

在前端框架技术中有三大框架:

ES6中的模块

  • 默认

    • 导出export default temp;
    • 导入import defaultObj from './cal.js';
  • 声明式

    • 1导出export var obj1="我是声明式导出1"
    • 2导出export var obj2="我是声明式导出2"
    • 3单独导出var obj4="我是声明式导出4"; export {obj4};
    • 导入import {obj1,obj2,obj4} from './cal.js';
  • 全体

    • 导入import * as allObj from './cal.js'

运行结果:

Object {default: "我是默认导出的结果", obj1: "我是声明式导出1", obj2: "我是声明式导出2", obj3: "我是声明式导出3",obj4: "我是声明式导出4"…}
1.  __esModule:true
2.  default:"我是默认导出的结果"
3.  obj1:"我是声明式导出1"
4.  obj2:"我是声明式导出2"
5.  obj3:"我是声明式导出3"
6.  obj4:"我是声明式导出4"
7.  __proto__:Object
  • 默认导入和声明式导入在使用上的区别
    • 要注意:声明式导入的时候,必须名称要一致(按需导入)
    • 默认导入 可以随便使用变量名
  • import 和 export 一定要写在 顶级作用于内 ,不能写在 {}里

Angularjs:谷歌公司生产

ES6中的代码变化

  • 对象属性的声明

    var name='abc';

    金沙澳门官网 ,var person={name}; 简写 - 》 var person={name:name}

  • 声明函数

    var cal={

    add1:function(){
        return 1;
    },
    add2 (){
        return 2;
    }
    

    }

  • 当属性的key与变量名相同,并且以变量值为value,就可以简写{name}->{name:name}

  • es6函数里干掉了function

React:Facebook公司

vue单文件

  • 单文件就是以.vue结尾的文件。最终通过webpack也会编译成.js在浏览器运行
  • 内容:<'template'><'/template'> <'script'><'/script'> <'style'><'/style'>
  • 1: template中只能有一个根节点 2.x
  • 2: script中 按照 export default 来写
  • 3: style中 可以设置 scoped属性,让其只在template中生效

Vue:尤雨溪作者

以单文件的方式启动

  • webpack找人来理解你的单文件代码
    • vue-loader,vue-template-compiler,代码中依赖vue
  • 启动命令
    ..\node_modules\.bin\webpack-dev-server --inline --hot --open 默认8080端口
    ..\node_modules\.bin\webpack-dev-server --inline --hot –open --port 8090 指定8090端口

vue官网说:Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。 

关于启动的目录结构

my-project
    - src  存放人可以看懂的代码,具有一定的功能划分 ,mvc
    - dist 存放真实上线的代码(减少请求,混淆代码),机器能看懂
    - webpack.config.js 打包生成dist下的代码
    - package.json   包信息描述  还能做命令简化

命令行  webpack           开发   
立刻读取webpack.config.js,生成到dist目录下
webpack-dev-server     测试

运行src下的代码,虚拟出build.js 
在含有packge.json文件下
npm install       安装所有devDependencies   dependencies
npm install –production  只安装 dependencies

package.json里   npm run dev  npm run build
{
    "scripts": {   
        "dev": "..\node_modules\.bin\webpack-dev-server --inline --hot --open",  开发的命令简化
        "build":"webpack"   打包代码到生产环境
    }
}

Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

vue介绍

  • 2014年诞生,2013年react,09年angularjs
  • 作者 尤雨溪
  • 核心概念:
    组件化 双向数据流(基于ES5中的defineProperty来实现的),IE9 才支持
  • angular核心 :
    模块化 双向数据绑定(脏检测:一个数组($watch))
    • 开发一个登陆的模块,登录需要显示头部、底部、中部
    • 组件 :组合起来的一个部件 (头部、底部、中部)
    • 细分代码
      • 头部:页面、样式、动态效果
      • 代码:template style script
  • 框架对比:
    https://cn.vuejs.org/v2/guide/comparison.html

关于渐进式和自底向上增量开发我们来看一下知乎的回答:

双向数据流

  • 1.js内存属性发生改变,影响页面的变化
  • 2.页面的改变影响js内存属性的改变

本文由金沙澳门官网发布于网络编程,转载请注明出处:vue入门笔记

关键词: 金沙澳门官网

上一篇:5下安装和测试Scrapy爬网站
下一篇:没有了