zoukankan      html  css  js  c++  java
  • vue全局配置(引入全局方法样式、按需加载elementui)

    一、全局引入css样式

    // 文件目录:
    /src/assets/styles/reset.less
    /src/assets/styles/common.less
    // 引用:app.vue
    <style lang="less" scoped>
        @import '~@/assets/styles/reset.less';
        @import '~@/assets/styles/common.less';
    </style>
    

    二、全局引入公共变量

    • cssLoaders中新增lessResourceLoader函数
    • 修改return中less: generateLoaders('less')改为less: lessResourceLoader()
    • 将全局less文件引入resources参数中
    // 文件目录
    /src/assets/styles/variables.less
    
    // 配置
    目录:/build/utils.js
    function lessResourceLoader(){
        var loaders = [
            cssLoader,
            'less-loader',
            {
                loader: 'sass-resources-loader',
                options: {
                    resources: [
                        // 配置全局公共变量
                        path.resolve(__dirname, '../src/assets/styles/variables.less')
                    ]
                }
            }
        ];
        if (options.extract) {
            return ExtractTextPlugin.extract({
                use: loaders,
                fallback: 'vue-style-loader'
            })
        } else {
            return ['vue-style-loader'].concat(loaders)
        }
     }
    

    三、全局引入公共方法(工具方法)

    注意:(export default和export的区别)

    方式一:对象方式统一抛出,全局统一引用,全局使用

    // 目录:/src/utils/commonUtils.js
    const commonUtils = {
        CheckPositiveNumber:CheckPositiveNumber,
        CheckPositiveDecimalTwo:CheckPositiveDecimalTwo,
        CheckPhoneNumber:CheckPhoneNumber,
        CheckIDCard:CheckIDCard
    }
    export default commonUtils
    
    
    // main.js引入
    import commonUtils from '@/utils/commonUtils'
    Vue.prototype.$commonUtils = commonUtils
    
    // 使用
    this.$commonUtils.xxx
    

    方式二:按函数抛出,按需引用

    // 目录:/src/utils/commonUtils.js
    export function CheckPositiveNumber(){
        ...
    }
    export function CheckPositiveDecimalTwo(){
        ...
    }
    
    // 组件中按需加载
    import {CheckPositiveNumber,CheckPositiveDecimalTwo} from '@/utils/commonUtils'
    

    四、element-ui按需引入

    方法一:第三方插件,babel-plugin-component

    4.1.1 安装插件

    npm install babel-plugin-component -D
    

    4.1.2 配置插件,更改.babelrc

    "plugins": [
        [
          "component",
          {
            "libraryName": "element-ui",
            "styleLibraryName": "theme-chalk"
          }
        ]
      ]
    

    4.1.3 src中新建elemenet文件夹、index.js,按需导入所需组件

    // 导入自己需要的组件
    import { Select, Option, OptionGroup, Input, Tree, Dialog, Row, Col } from 'element-ui'
    const element = {
      install: function (Vue) {
        Vue.use(Select)
        Vue.use(Option)
        Vue.use(OptionGroup)
        Vue.use(Input)
        Vue.use(Tree)
        Vue.use(Dialog)
        Vue.use(Row)
        Vue.use(Col)
      }
    }
    export default element
    

    4.1.4 main.js引用样式及按需导出的element

    import 'element-ui/lib/theme-chalk/index.css'
    import element from './element/index'
    Vue.use(element)
    
    注意:Vue.use() 方法的话,则该方法默认会调用 install 方法

    方法二:main.js中直接引用

    import 'element-ui/lib/theme-chalk/index.css'
    import { Dialog, Select, Option, OptionGroup, Input, Tree, Row, Col } from 'element-ui'
    Vue.use(Select)
    Vue.use(Option)
    Vue.use(OptionGroup)
    Vue.use(Input)
    Vue.use(Tree)
    Vue.use(Dialog)
    Vue.use(Row)
    Vue.use(Col)
    

    注意:Dialog等要使用小写或者Vue.component(Dialog)

  • 相关阅读:
    java 获取json字符串中key对应的值
    location.href跳转页面时传递参数并且在新页面接收参数
    bootstrap table 合并列(只合并相邻的相同项)
    谷歌浏览器输入框清除历史输入记录
    js高德地图支持,java获取高德地图两点间的距离
    ASP.NET Excel 文件导入与导出实例
    Struts2入门---输入验证---验证身份证案例
    Struts2入门---国际化
    Struts2入门---消息处理和类型转换
    Struts2入门---增删改查- 拦截器栈的应用
  • 原文地址:https://www.cnblogs.com/nanhuaqiushui/p/11774231.html
Copyright © 2011-2022 走看看