• vue组件续和前端工程化


    1.3 插槽 slot

    template: `
    	<button> <slot></slot> </button>
    `
    
    <my-button>内容</my-button
    <div class="container">
      <header>
        <slot name="header"></slot>
      </header>
      <main>
        <slot></slot>
      </main>
      <footer>
        <slot name="footer"></slot>
      </footer>
    </div>
    
    //调用组件
    <base-layout>
      <template slot="header">
        <h1>Here might be a page title</h1>
      </template>
    
      <p>A paragraph for the main content.</p>
      <p>And another one.</p>
    
      <p slot="footer">Here's some contact info</p>
    </base-layout>
    

    1.4 动态组件

    <component is="组件"></component>
    
    <keep-alive>
    	<component is="组件"></component>
    </keep-alive>
    

    1.5 组件注意事项

    <table>
    	<tr is="组件名"></tr>
    </table>
    
    给组件标签 设置的classstyle 会自动添加到 组件模板的根元素上
    
    在组件标签上添加原生事件 <my-component @click.native="">
    
    实现prop的双向数据绑定  :属性名.sync   
    子组件要配合,  this.$emit('update:属性名', 新值)
    
    

    2 前端工程化

    2.1 支持环境 Node

    node.js JavaScript的解释器
    
    用于后端开发
    作为前端工具的支持环境
    

    2.2 NPM 包管理工具

    包管理工具
    集成在node.js中,不需要单独下载
    
    前端的一切资源都可以都过npm下载 包括 各种前端工具(webpackgrunt...) 各种前端资源(jqueryootstrap...)
    
    npm install 包名        本地安装(本项目目录) (资源类)
    npm install -g 包名     全局安装(命令行工具)
    npm uninstall 包名     删掉本地的包
    npm uninstall 包名 -g  删除全局安装的包
    
    #项目初始化
    npm init
    创建一个package.json 里面是对项目的描述,指定依赖
    
    项目中的node_moudules 目录 不需要上传
    运行 npm install 自动安装项目所有的依赖(存在package.json
    npm install 包 --save 下载包的同时,加入到package.json中的 `dependencies`
    npm install 包 --save-dev 下载包的同时,加入到package.json中的 `devDependencies`  开发阶段的依赖
    

    2.3 模块化工具

    • webpack
    • Browserify

    把前端所有的资源当做模块,向引入模块一样去使用

    2.4 自动化工具

    集成各种应用:代码压缩、图片压缩、编译sass....

    • grunt
    • gulp
    • webpack

    3 Vue生成器

    集成了webpack、以及其他各种需要的工具

    3.1 安装

    npm install -g @vue/cli   安装3.x
    npm install -g vue/cli  安装的2.x
    

    3.2 使用

    vue create 项目名称   自动生成项目的目录
    

    3.3 包含的东西

    webpack  
    babel   把ES6编译成ES5
    eslint  代码语法规范
    TypeScript   负责把TypeScript编译成JavaScript
    Router(vue-router Vue全家桶成员)   路由
    Vuex(Vue全家桶成员)     vue状态管理 
    CSS Pre-processors    CSS预处理 会让你再次选择器(SASS、LESS、Stylus...)
    Linter / Formatter   语法检查
    Unit Testing      单元测试
    E2E Testing      端到端测试
    

    2.4 命令

    npm run serve  临时编译,创建临时服务器  loacalhost:8080
    npm run build  编译,生成dist目录
    

    4. 前端的集成环境 WebStorm

    5 项目目录结构

    |- node_modules 
    |- public
    	|- index.html   
    	|- assets  静态文件 图片、字体
    |- src
    	|- components   普通组件(局部)
    		|- HelloWorld.vue
    	|- views  页面组件
    		|- Home.vue
    		|- About.vue
    	|- main.js  入口
    	|- App.vue  总体结构组件
    	|- router.js  路由设置
    	|- store.js   状态管理 
    |- package.json
    

    6 Vue全家桶

    vue 本身
    vue-router  路由
    vuex        状态管理
    vue-ssr     服务端渲染
    
    element-ui   vue样式组件库
  • 相关阅读:
    异或交换真的比开一个tmp快吗?
    淘宝前端团队的干货《论版本号的正确打开方式》
    箭头函数
    js对象引用问题
    json+underscore+Node 小例子
    fs.stat()
    Express static静态路由
    剑指offer(二) 替换空格
    Node实现简单的表单+图片上传+路由
    剑指offer(一) 二维数组的查找
  • 原文地址:https://www.cnblogs.com/luck-L/p/9531970.html
Copyright © 2020-2023  润新知