zoukankan      html  css  js  c++  java
  • 3. Vue单文件组件

    传统组件的问题和解决方案

    1.问题

    • 全局定义 的组件必须保证组件的名称不重复
    • 字符串模板缺乏语法高亮, 在HTML有多行的时候,需要用到丑陋的
    • 不支持 CSS意味着当HTML和JavaScript组件化时,CSS 明显被遗漏
    • 没有构建步骤限制, 只能使用HTML和ES5 JavaScript,而不能使用预处理器(如: Babel)
      2.解决方案
      针对传统组件的问题,Vue 提供了一个解决方案一使用 Vue单文件组件。

    Vue单文件组件的基本用法

    单文件组件的组成结构

    • template 组件的模板区域
    • script 业务逻辑区域
    • style 样式区域
    <template>
    <!--这里用于定义vue组件的模板内容-->
    </temp1ate>
    <script>
    //这里用于定义vue组件的业务逻辑
        export default {
            data: () { return {} },//私有数据
            methods: {} //处理函数
            // ... 其它业务逻辑
    </script>
    
    //建议为每个style都添加一个scoped的指令,从而防止组件样式之间的冲突问题,保证每个组件的样式都是自己私有的,不会影响到其他的组件
    <style scoped>
    /*这里用于定义组件的样式*/
    </style>
    

    webpack中配置vue组件的加载器

    1 运行 npm i vue-loader vue-template-compiler -D命令
    2 在webpack.config.js配置文件中,添加vue-loader的配置如下:

    //导入插件
    const VueLoaderPlugin = require('vue-loader/lib/plugin')
    module.exports={
        module:{
            rules:[
            //...其他规则
            {test:/.vue$/,loader:'vue-loader'}
            ]
        },
        plugins:[
        //...其它插件
        new VueLoaderPlugin()//请确保引入这个插件!
        ]
    }
    

    在webapck项目中使用vue

    1.运行npm i vue -S 安装vue
    2.在src->index.js入口文件中,通过import vue from 'vue'来导入vue构造函数
    3.创建vue的实例对象,并指定要控制的el区域
    4.通过render函数渲染App根组件

    //1.导入Vue构造函数
    import Vue from 'vue'
    //2.导入App根组件
    import App from './components/App.vue' 
    
    const vm = new Vue({
        //3.指定vm实例要控制的页面区域
        el:'#app',
        //4.通过render函数,把指定的组件渲染到el区域中
        render:h=>h(App)
    })
    

    webpack打包发布

    上线之前需要通过webpack将应用进行整体打包,可以通过package.json文件配置打包命令:

    //在package.json文件中配置webpack打包命令
    //该命令默认加载项目根目录中的webpack.config.js配置文件
    "scripts":{
        //用于打包的命令
        "build":"webpack -p",
        //用于开发调试的命令
        "dev":"webpack-dev-server --open --host 127.0.0.1 --port 3000",
    },
    

    运行npm run build打包

  • 相关阅读:
    进程池的回调函数
    进程通信(multiprocessing.Queue)
    自动化批量管理工具salt-ssh
    自动化批量管理工具pssh
    Saltstack自动化操作记录(2)-配置使用
    Saltstack自动化操作记录(1)-环境部署
    RocketMQ 简单梳理 及 集群部署笔记
    CentOS7下单机部署RabbltMQ环境的操作记录
    centos6下ActiveMQ+Zookeeper消息中间件集群部署记录
    [Centos6.9下RabbitMQ集群部署记录]
  • 原文地址:https://www.cnblogs.com/songsongblue/p/12090784.html
Copyright © 2011-2022 走看看