Element组件完整引入、按需引入、样式修改(全局、局部)、简单安装less以及npm命令证书过期等

目录

  • 一、npm 安装
  • 二、完整引入
  • 三、按需引入
  • 四、样式修改
    • 1.按需加载的全局样式修改
    • 2. 局部样式修改
      • 1. 在 css 预处理器如 less scss 等直接使用```::v-deep```
      • 2. 只能用在原生 CSS 语法中:```/deep/ ```或者 ```>>> ```
  • 五、 拓展:npm 安装less报错,提示证书过期
  • 六、拓展:Vue 项目中配置 Element-ui 按需引入时,babel.config.js 配置 ["es2015", { "modules": false }] 报错

一、npm 安装

npm i element-ui -S

二、完整引入

  1. 在 main.js 中写入以下内容:
    import Vue from 'vue';
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    import App from './App.vue';
    
    Vue.use(ElementUI);
    
    new Vue({
      el: '#app',
      render: h => h(App)
    });
    
  2. 以上代码便完成了 Element 的引入。需要注意的是,样式文件需要单独引入。

三、按需引入

  1. 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。

  2. 首先,安装 babel-plugin-component:npm install babel-plugin-component -D

  3. 然后,将 .babelrc (或者 babel.config.js)修改为:

    module.exports = {
      presets: [
        '@vue/cli-plugin-babel/preset',
        // ["es2015", { "modules": false }]
        ["@babel/preset-env", { "modules": false }]
      ],
      "plugins": [
        [
          "component",
          {
            "libraryName": "element-ui",
            "styleLibraryName": "theme-chalk"
          }
        ]
      ]
    }
    
  4. 在main.js所在目录创建一个plugins文件夹,该文件夹下创建一个element.js文件

// 按需引入
import Vue from 'vue'
// 需要注意的是,样式文件需要单独引入
import 'element-ui/lib/theme-chalk/index.css';
// 修改样式,根据实际项目自定义 (这里修改的样式会在整个项目所有界面的应用,全局的)
import '@/assets/css/DatePicker.css';
import '@/assets/css/Pagination.css';
import '@/assets/css/Table.css'; 
import '@/assets/css/select.css'; 
//..................................
import {
    Button,
    Select,
    Option,
    Image,
    Carousel,
    CarouselItem,
    DatePicker,
    Pagination,
    Radio,
    RadioButton,
    RadioGroup,
    Dialog,
    Table,
    TableColumn,
    Descriptions,
    DescriptionsItem

} from 'element-ui'

Vue.use(Descriptions)
Vue.use(DescriptionsItem)
Vue.use(Button)
Vue.use(Select)
Vue.use(Option)
Vue.use(Image)
Vue.use(Carousel)
Vue.use(CarouselItem)
Vue.use(DatePicker)
Vue.use(Pagination)
Vue.use(Radio)
Vue.use(RadioButton)
Vue.use(Dialog)
Vue.use(RadioGroup)
Vue.use(Table)
Vue.use(TableColumn)

在这里插入图片描述
完整组件列表和引入方式(参考)------------如上根据实际需要引入对应的组件

		import Vue from 'vue';
		import {
		  Pagination,
		  Dialog,
		  Autocomplete,
		  Dropdown,
		  DropdownMenu,
		  DropdownItem,
		  Menu,
		  Submenu,
		  MenuItem,
		  MenuItemGroup,
		  Input,
		  InputNumber,
		  Radio,
		  RadioGroup,
		  RadioButton,
		  Checkbox,
		  CheckboxButton,
		  CheckboxGroup,
		  Switch,
		  Select,
		  Option,
		  OptionGroup,
		  Button,
		  ButtonGroup,
		  Table,
		  TableColumn,
		  DatePicker,
		  TimeSelect,
		  TimePicker,
		  Popover,
		  Tooltip,
		  Breadcrumb,
		  BreadcrumbItem,
		  Form,
		  FormItem,
		  Tabs,
		  TabPane,
		  Tag,
		  Tree,
		  Alert,
		  Slider,
		  Icon,
		  Row,
		  Col,
		  Upload,
		  Progress,
		  Spinner,
		  Badge,
		  Card,
		  Rate,
		  Steps,
		  Step,
		  Carousel,
		  CarouselItem,
		  Collapse,
		  CollapseItem,
		  Cascader,
		  ColorPicker,
		  Transfer,
		  Container,
		  Header,
		  Aside,
		  Main,
		  Footer,
		  Timeline,
		  TimelineItem,
		  Link,
		  Divider,
		  Image,
		  Calendar,
		  Backtop,
		  PageHeader,
		  CascaderPanel,
		  Loading,
		  MessageBox,
		  Message,
		  Notification
		} from 'element-ui';
		
		Vue.use(Pagination);
		Vue.use(Dialog);
		Vue.use(Autocomplete);
		Vue.use(Dropdown);
		Vue.use(DropdownMenu);
		Vue.use(DropdownItem);
		Vue.use(Menu);
		Vue.use(Submenu);
		Vue.use(MenuItem);
		Vue.use(MenuItemGroup);
		Vue.use(Input);
		Vue.use(InputNumber);
		Vue.use(Radio);
		Vue.use(RadioGroup);
		Vue.use(RadioButton);
		Vue.use(Checkbox);
		Vue.use(CheckboxButton);
		Vue.use(CheckboxGroup);
		Vue.use(Switch);
		Vue.use(Select);
		Vue.use(Option);
		Vue.use(OptionGroup);
		Vue.use(Button);
		Vue.use(ButtonGroup);
		Vue.use(Table);
		Vue.use(TableColumn);
		Vue.use(DatePicker);
		Vue.use(TimeSelect);
		Vue.use(TimePicker);
		Vue.use(Popover);
		Vue.use(Tooltip);
		Vue.use(Breadcrumb);
		Vue.use(BreadcrumbItem);
		Vue.use(Form);
		Vue.use(FormItem);
		Vue.use(Tabs);
		Vue.use(TabPane);
		Vue.use(Tag);
		Vue.use(Tree);
		Vue.use(Alert);
		Vue.use(Slider);
		Vue.use(Icon);
		Vue.use(Row);
		Vue.use(Col);
		Vue.use(Upload);
		Vue.use(Progress);
		Vue.use(Spinner);
		Vue.use(Badge);
		Vue.use(Card);
		Vue.use(Rate);
		Vue.use(Steps);
		Vue.use(Step);
		Vue.use(Carousel);
		Vue.use(CarouselItem);
		Vue.use(Collapse);
		Vue.use(CollapseItem);
		Vue.use(Cascader);
		Vue.use(ColorPicker);
		Vue.use(Transfer);
		Vue.use(Container);
		Vue.use(Header);
		Vue.use(Aside);
		Vue.use(Main);
		Vue.use(Footer);
		Vue.use(Timeline);
		Vue.use(TimelineItem);
		Vue.use(Link);
		Vue.use(Divider);
		Vue.use(Image);
		Vue.use(Calendar);
		Vue.use(Backtop);
		Vue.use(PageHeader);
		Vue.use(CascaderPanel);
		
		Vue.use(Loading.directive);
		
		Vue.prototype.$loading = Loading.service;
		Vue.prototype.$msgbox = MessageBox;
		Vue.prototype.$alert = MessageBox.alert;
		Vue.prototype.$confirm = MessageBox.confirm;
		Vue.prototype.$prompt = MessageBox.prompt;
		Vue.prototype.$notify = Notification;
		Vue.prototype.$message = Message;
  1. 在main.js中按需引入element组件
    import Vue from 'vue'
    import App from './App.vue'
    
    import ElementUI from 'element-ui';
    import './plugins/element.js'
    
    Vue.config.productionTip = false
    Vue.use(ElementUI);
    
    new Vue({
      el:'#app',
    	render: h => h(App),
    })
    
    

四、样式修改

1.按需加载的全局样式修改

在这里插入图片描述
在这里插入图片描述

Table.css:


 .el-table{
    background-color: transparent;
    border: 1px solid #227AFF;
}

.el-table--border::after, .el-table--group::after, .el-table::before {
    content: '';
    position: absolute;
    background-color: transparent;
    z-index: 1;
}

.el-table .has-gutter tr {
    background-color: #1954B2;
}

.el-table tr{
    background-color: transparent;
}

.el-table .el-table__row{
    /* background-color: transparent; */
    background-color: #0f204a;
}

.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell {
    background: #1B2A50;
}

 .el-table th.el-table__cell {
    background-color: transparent;
}

.el-table, .el-table__expanded-cell {
    background-color: transparent;
}
.el-table .cell {
   color: #fff;
}
.el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf {
    /* border-bottom: none; */
    border-bottom: 1px solid #227AFF;
}

.el-table--border .el-table__cell, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed {
    border-right: 1px solid #227AFF;
}

/* 用来设置当前页面element全局table 鼠标移入某行时的背景色*/
.el-table--enable-row-hover .el-table__body tr:hover > td {
    background-color: transparent !important;
    cursor:pointer; /* 修改鼠标样式 */
    /* color: #f19944; */ /* 设置文字颜色,可以选择不设置 */
}


/* 滚动条整体部分 */
.el-table__body-wrapper::-webkit-scrollbar{
      background-color: #0f204a;
}      
 /* 滚动条里面的滑块,能向上向下移动(或往左往右移动,取决于是垂直滚动条还是水平滚动条) */
.el-table__body-wrapper::-webkit-scrollbar-thumb   {
   /*滚动条里面小方块*/
   width: 100%;
   border-radius: 10px;
   background-color: #227AFF;
   border: 0.3rem solid #0f204a;
}
/* 滚动条的轨道(里面装有Thumb) */
.el-table__body-wrapper::-webkit-scrollbar-track   {
 /*滚动条里面轨道*/
 background-color: #0f204a;
 border-radius: 2px;
}
/* 滚动条的轨道的两端按钮,允许通过点击微调小方块的位置。 */
.el-table__body-wrapper::-webkit-scrollbar-button {
display: none;
}
/* 内层轨道,滚动条中间部分(除去) */
.el-table__body-wrapper::-webkit-scrollbar-track-piece {
background-color: #0f204a;
}
/* 边角,即两个滚动条的交汇处 */
.el-table__body-wrapper::-webkit-scrollbar-corner {

}
/* 两个滚动条的交汇处上用于通过拖动调整元素大小的小控件 */
.el-table__body-wrapper::-webkit-resizer  {

}



  


Pagination.css:

.el-pagination{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 分页的样式 */
/* 左边箭头 */
.el-pagination button:disabled {
	 color: #339EFF !important;
    background-color: transparent !important;
	/* border: 0.125rem solid #339EFF; */
}
.el-pagination .btn-prev  {
    width: 2rem;
	height: 2rem;
    min-width: 25px;
    min-height: 25px;
    line-height: 2rem;
    border: 1px solid #339EFF;
	margin-right: 0.3125rem;
	padding: 0;
}

/* 右箭头 */
.el-pagination .btn-next, .el-pagination .btn-prev {
    background: transparent !important;
    color: #339EFF !important;
	/* border: 0.125rem solid #339EFF; */
}
.el-icon-arrow-right{
	/* margin-right: 8px; */
	font-size: 1rem;
}
.el-pagination .btn-next{
	width: 2rem;
	height: 2rem;
    min-width: 25px;
    min-height: 25px;
	line-height: 2rem;
	border: 1px solid #339EFF;
	margin-left: 0.3125rem;
	padding: 0;
}
.el-pagination .el-icon{
	font-size: 1rem;
}

/* 总条数 */
.el-pagination__total {
    margin-right: 10px;
    font-weight: 400;
    color: #fff;
    display: flex;
    align-items: center; 
}
.el-pagination button, .el-pagination span:not([class*=suffix]) {
    font-size: 1rem;
    height: auto;
}
/* XX/页 */
.el-input__inner{
background-color: transparent;
color: #fff;
}
.el-input--mini .el-input__inner {
    height: 2rem;
    line-height: 2rem;
    min-height: 25px;
}

.el-popper[x-placement^=bottom] .popper__arrow::after {
    top: 1px;
    margin-left: -6px;
    border-top-width: 0;
    border-bottom-color: #1954B2;
}
.el-select-dropdown {
    position: absolute;
    z-index: 1001;
    border: 1px solid #32B4FF;
    border-radius: 4px;
    background-color: #1954B2;
    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
    box-sizing: border-box;
    margin: 5px 0;
}
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
    background-color: transparent;
}
.el-select-dropdown__item.selected {
    color: #32B4FF;
    font-weight: 700;
}
.el-select-dropdown__item {
    color: #fff;
}


/* 数字 */
.el-dialog, .el-pager li {
    background: transparent !important;
	color: #339EFF;
	border: 0.125rem solid #339EFF;
}
/* 省略号 */
.el-pager li.btn-quicknext, .el-pager li.btn-quickprev {
    color: #339EFF;
	border: 0.125rem solid #339EFF;
}
/* 大小 */
.el-pager li {
    margin-right: 0.3125rem;
    min-width: 25px;
    min-height: 25px;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    margin-left: 0.3125rem;
}
/* 选中 */
.el-pager li.active {
    color: #FFEC1A;
    cursor: default;
    border: 2px solid #FFEC1A;
}
/* 选中后面那个样式 */
.el-pager li.active+li {
    border-left: 1px;
    border: 1px solid #339EFF;
}

DatePicker.css:

  /* 年份弹窗样式 */
	    .el-picker-panel{
	       color: #fff !important;
	       border: none !important;
	       box-shadow: none !important;
		  background: rgb(13 26 77) !important; 
	      /* background: #000000 !important; */
		   /* opacity: 0.8; */
	   }
	     .el-date-picker__header .el-picker-panel__icon-btn {
	       color: #fff !important;
	   }
	    .el-date-picker__header-label {
	       color: #fff !important;
	   }
	   .el-month-table td  .cell {
	       color: #fff  !important;
	   }
	  .el-month-table td.current:not(.disabled) .cell {
	      color: #33b1e5 !important;
	  }
	 

select.css:

.tistle-rightss .el-select {
    display: inline-block;
    position: relative;
    width: 100%;
    height: 100%;
}
.tistle-rightss .el-input__inner {
    -webkit-appearance: none;
    background-color: #000;
    background-image: none;
    border: none;
    color: #fff;
    width: 98%;
    text-align: right;
}
.tistle-rightss .el-select-dropdown {
    border: none;
    background-color: #000;
    box-shadow: none;
}
.tistle-rightss .el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
    background-color: #000;
}
.tistle-rightss .el-select-dropdown__item {
    color: #fff;
}

<style>
/* // 在当前 vue 单页面中添加一个新的style标签 */
/* // (在当前的vue单页面的style标签后,添加一对新的style标签,新的style标签中不要添加scoped属性。 */
/* // 在有写scoped的style标签中书写的样式不会覆盖 ElementUI 默认的样式。) */

/* 新的style标签中不添加scoped属性,其中设置的样式也是全局的 */
/* .el-table {
    background-color: transparent;
    border: 10px solid red;
} */

/* 在获取到的样式里加上能限制范围的父层选择器,这样就不算全局样式了,只在这个界面生效。 */
/* .ElementCss .el-table {
    background-color: transparent;
    border: 10px solid yellow;
} */
</style>

2. 局部样式修改

1. 在 css 预处理器如 less scss 等直接使用::v-deep

<template>
    <div class="ElementCss">
        <div class="block">
            <span class="demonstration">年: </span>
            <el-date-picker v-model="year" type="year" placeholder="选择年">
            </el-date-picker>
        </div>

        <div class="block">
            <span class="demonstration">年月: </span>
            <el-date-picker v-model="month" type="month" placeholder="选择月">
            </el-date-picker>
        </div>

        <div class="block">
            <span class="select-box">下拉框: </span>
            <el-select v-model="value" placeholder="请选择">
                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
                </el-option>
            </el-select>
        </div>

        <el-table :data="list.slice((pageNum - 1) * pageSize, pageNum * pageSize)" style="width: 100%">
            <el-table-column align="center" prop="id" label="编号" min-width="80">
            </el-table-column>
            <el-table-column align="center" prop="date" label="日期" min-width="150">
            </el-table-column>
            <el-table-column align="center" prop="name" label="姓名" min-width="80">
            </el-table-column>
            <el-table-column align="center" prop="address" label="地址" min-width="250">
            </el-table-column>
        </el-table>

        <div class="pagination-box">
            <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum"
                :page-sizes="[10, 20, 30, 40]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
                :total="total">
            </el-pagination>
        </div>

    </div>
</template>
  
<script>
export default {
    name: "ElementCss",
    data() {
        return {
            year: '',
            month: '',
            options: [{
                value: '选项1',
                label: '黄金糕'
            }, {
                value: '选项2',
                label: '双皮奶'
            }, {
                value: '选项3',
                label: '蚵仔煎'
            }, {
                value: '选项4',
                label: '龙须面'
            }, {
                value: '选项5',
                label: '北京烤鸭'
            }],
            value: '',
            pageNum: 1,
            pageSize: 5,
            total: 11,
            list: [
                {
                    id: "0001",
                    date: "2016-05-02",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1518 弄",
                },
                {
                    id: "0002",
                    date: "2016-05-04",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1517 弄",
                },
                {
                    id: "0003",
                    date: "2016-05-01",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1519 弄",
                },
                {
                    id: "0004",
                    date: "2016-05-03",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1516 弄",
                },
                {
                    id: "0005",
                    date: "2016-05-01",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1519 弄",
                },
                {
                    id: "0006",
                    date: "2016-05-03",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1516 弄",
                },
                {
                    id: "0007",
                    date: "2016-05-01",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1519 弄",
                },
                {
                    id: "0008",
                    date: "2016-05-03",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1516 弄",
                },
                {
                    id: "0009",
                    date: "2016-05-03",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1516 弄",
                },
                {
                    id: "00010",
                    date: "2016-05-03",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1516 弄",
                },
                {
                    id: "00011",
                    date: "2016-05-03",
                    name: "王小虎",
                    address: "上海市普陀区金沙江路 1516 弄",
                },
            ],
        };
    },
    mounted() {

    },
    methods: {
        handleSizeChange(val) {
            console.log(`每页 ${val} 条`);
        },
        handleCurrentChange(val) {
            console.log(`当前页: ${val}`);
        }
    },
};
</script>

<style scoped lang="less">
::v-deep .el-table {
    background-color: transparent;
    border: 10px solid green;
}
.ElementCss {
    background: black;
    color: #fff;
}

.block {
    margin-bottom: 20px;
}

.pagination-box {
    margin-top: 20px;
}
</style>

2. 只能用在原生 CSS 语法中:/deep/ 或者 >>>

<style scoped>
* // 找到需要修改的 ElementUI 标签的类名,然后在类名前加上 /deep/ ,可以强制修改默认样式。这种方式可以直接用到有 scoped 属性的 style 标签中。 */

/* 局部样式: 使用 /deep/ 深度修改标签样式----只能用在原生 CSS 语法中,不能在 css 预处理器如 less scss 等直接使用 */
 /deep/ .el-table {
    background-color: transparent;
    border: 10px solid red;
} 
/* 局部样式: 可以使用 >>> 来深度修改样式-----只能用在原生 CSS 语法中,不能在 css 预处理器如 less scss 等直接使用 */
  >>> .el-table {
    background-color: transparent;
    border: 10px solid yellow;
} 
</style>

在这里插入图片描述
在这里插入图片描述

五、 拓展:npm 安装less报错,提示证书过期

在MacOS下,less-loader安装的同时会自动安装less, 而windows和Linux环境则不会。
所以,使用less时,为了兼容性考虑,还是老老实实按照官网的要求:
npm install --save less less-loader
在这里插入图片描述
解决方案:命令行执行如下,然后重新安装less

npm cache clean --force
npm config set strict-ssl false

六、拓展:Vue 项目中配置 Element-ui 按需引入时,babel.config.js 配置 [“es2015”, { “modules”: false }] 报错

在这里插入图片描述
解决方案:

  1. 安装 @babel/preset-env: npm i @babel/preset-env -D
  2. 把 babel.config.js 文件中 “es2015” 修改为 “@babel/preset-env”
    module.exports = {
      presets: [
        '@vue/cli-plugin-babel/preset',
        // ["es2015", { "modules": false }]
        ["@babel/preset-env", { "modules": false }]
      ],
      "plugins": [
        [
          "component",
          {
            "libraryName": "element-ui",
            "styleLibraryName": "theme-chalk"
          }
        ]
      ]
    }
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/342309.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java Web(二)--HTML

基本介绍 官网文档地址: HTML 教程 HTML&#xff08;HyperText Mark-up Language&#xff09;即超文本标签语言&#xff1b;HTML 文本是由 HTML 标签组成的文本&#xff0c;可以包括文字、图形、动画、声音、表格、链接等&#xff1b;HTML 的结构包括头部&#xff08;Head&…

CWE、CVE

文章目录 前言一、CVE是什么&#xff1f;二、官网浏览主页词汇 三、CWE 前言 一、CVE是什么&#xff1f; 关于CVE是什么&#xff0c;前辈已经阐述得很详细通透&#xff0c;这里不再赘述或生产一些垃圾信息&#xff0c;CVE公共漏洞和暴露的学习 总结&#xff1a; 标识某个漏洞…

不就业,纯兴趣,应该自学C#还是JAVA?

不就业&#xff0c;纯兴趣&#xff0c;应该自学C#还是JAVA? 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「JAVA的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff…

测试老司机聊聊测试设计都包含什么?

一、数据组合测试设计 数据组合测试设计&#xff08;Combinatorial Test Design&#xff0c;CTD&#xff09;是一种优化测试用例的方法&#xff0c;它通过系统地组合不同的测试数据输入&#xff0c;以确保全面覆盖各种可能的测试情况。这种方法主要应用于软件测试领域&#xff…

Aria2 WebUI控制台 任意文件读取漏洞复现(CVE-2023-39141)

0x01 产品简介 Aria2 WebUI控制台是用于下载文件的实用程序。它支持 HTTP(S)/FTP/SFTP/BitTorrent 和 Metalink 协议。aria2可以从多个来源/协议下载文件,并尝试利用您的最大下载带宽。它支持同时从HTTP(S)/FTP/SFTP和BitTorrent下载文件,而从HTTP(S)/FTP/SFTP下载的数据上…

【算法】选择最佳路线(超级源点)

题目 有一天&#xff0c;琪琪想乘坐公交车去拜访她的一位朋友。 由于琪琪非常容易晕车&#xff0c;所以她想尽快到达朋友家。 现在给定你一张城市交通路线图&#xff0c;上面包含城市的公交站台以及公交线路的具体分布。 已知城市中共包含 n 个车站&#xff08;编号1~n&…

银行数据仓库体系实践(4)--数据抽取和加载

1、ETL和ELT ETL是Extract、Transfrom、Load即抽取、转换、加载三个英文单词首字母的集合&#xff1a; E&#xff1a;抽取&#xff0c;从源系统(Souce)获取数据&#xff1b; T&#xff1a;转换&#xff0c;将源系统获取的数据进行处理加工&#xff0c;比如数据格式转化、数据精…

原来岳云鹏背后的女人竟然是她?有她,岳云鹏红遍大江南北。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 岳云鹏&#xff0c;一个出身于农村的普通孩子&#xff0c;曾经…

如何在容器内部进行抓包

//先获取POD 的容器ID号 //去pod容器所在节点进行解析id为pid号 //通过pid号进入这个容器的网络命名空间 docker inspect --format {{.State.Pid}} 05f38d2a61e29b5a9d24fc7a3906991ab92ecd58ff7e0eb4e339a4cc6b2c4fc4 //访问容器内部&#xff0c;Node01节点

第10次修改了可删除可持久保存的前端html备忘录

第10次修改了可删除可持久保存的前端html备忘录 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…

JAVA的面试题四

1.电商行业特点 &#xff08;1&#xff09;分布式&#xff1a; ①垂直拆分:根据功能模块进行拆分 ②水平拆分:根据业务层级进行拆分 &#xff08;2&#xff09;高并发&#xff1a; 用户单位时间内访问服务器数量,是电商行业中面临的主要问题 &#xff08;3&#xff09;集群&…

备战2个月,面试被问麻了....

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

中小学班主任工作规定

作为一名长期扎根在中小学教育一线的教师&#xff0c;您是否曾经思考过&#xff1a;作为班主任&#xff0c;我们的工作有哪些明确的规定和要求&#xff1f; 众所周知&#xff0c;班主任工作是中小学教育的重要组成部分。那么&#xff0c;具体来说&#xff0c;班主任的工作有哪…

匈牙利算法 原理 python实现

例子 用男女配对问题来解释&#xff0c;背景是&#xff1a;你是一个红娘&#xff0c;需要对图中的男女进行配对&#xff0c;其中男女之间有线就表示他们之间有暧昧&#xff0c;可以牵红线。 算法流程 B1&#xff0c;他与G2有暧昧&#xff0c;那我们就先暂时把他与G2连接&#…

《WebKit 技术内幕》学习之五(2): HTML解释器和DOM 模型

2.HTML 解释器 2.1 解释过程 HTML 解释器的工作就是将网络或者本地磁盘获取的 HTML 网页和资源从字节流解释成 DOM 树结构。 这一过程中&#xff0c;WebKit 内部对网页内容在各个阶段的结构表示。 WebKit 中这一过程如下&#xff1a;首先是字节流&#xff0c;经过解码之…

大数据学习之Flink,Flink的安装部署

Flink部署 一、了解它的关键组件 客户端&#xff08;Client&#xff09; 作业管理器&#xff08;JobManager&#xff09; 任务管理器&#xff08;TaskManager&#xff09; 我们的代码&#xff0c;实际上是由客户端获取并做转换&#xff0c;之后提交给 JobManger 的。所以 …

计算机网络 第2章(物理层)

系列文章目录 计算机网络 第1章&#xff08;概述&#xff09; 计算机网络 第2章&#xff08;物理层&#xff09; 文章目录 系列文章目录1. 物理层的基本概念2. 物理层下面的传输媒体2.1 导引型传输媒体2.2 非导引型传输媒体 3. 传输方式3.1 串行传输和并行传输3.2 同步传输和异…

控制项目进展

优质博文 IT-BLOG-CN 假如一个项目准备工作做的非常周详&#xff0c;现在要做的就是监督项目的进展情况&#xff0c;理想状况下事情应当进展的很顺利&#xff0c;但实际上我们会发现项目永远不会完全按照经计划执行&#xff0c;我们必须进行项目控制。也就是我们需要不断进行调…

AI创作之旅:探索提示工程的奇妙世界

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在当今信息爆炸的时代&#xff0c;人工智能的发…

开源的测试平台快2千星了,能带来多少收益呢

最近看了下自己去年初开源的测试平台&#xff0c;star一起算的话也到1.7k了&#xff1a; 做开源的初心一方面是想把自己的理解和思想展示出来&#xff0c;另一方面是想进一步打造个人IP&#xff0c;提升影响力&#xff08;其实这个想法很早之前就有了&#xff0c;计划过无数次但…