ElementUI 修改cdn引入的类库的全局配置的默认属性

本文介绍如何在使用Element UI的项目中,通过npm或CDN引入方式,全局修改Dialog对话框组件的默认行为,使其弹窗的遮罩点击不再关闭窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务是修改饿了么的弹窗的默认遮罩为不关闭。

一、npm引入

使用命令npm install  element-ui -S 就可以安装好element-ui,然后在项目中通过以下方式引入:

就可以使用Element访问到Dialog对象,然后设置默认属性。

import Vue from 'vue'
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
 
//全局修改默认配置
Element.Dialog.props.closeOnClickModal.default=false;
console.info(Element.Dialog);
Vue.use(Element)

二、CDN引入

(1)CDN引入步骤

我们项目的引入方式采用的就是这种。

webpack会对我们的项目进行打包,而像vue、element-ui、echarts、jquery这样的第三方库,占用了太多的空间和时间,所以为了优化加载速度,使用 CDN 的方式引入这些第三方库,能够大大增加构建速度,CDN也可以使用第三方服务如unpkg 。

引入的步骤为:

  • 在template.js中添加cdn链接,如:
<!-- 引入样式 -->
 <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> 
<!-- 引入组件库 --> 
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
  • 在webpack中配置externals,

webpack中的externals的作用就是让webpack在打包时排除这些文件,而去引用外部资源

其中jquery代表的是要引入的资源的名字,在项目中引用时的标识,window.$代表的是这个类库提供的标识。

   // 加载第三方类库
    externals: {
        jquery: 'window.$',
        'element-ui': '/^(lement|\$)$/i',
        vue: 'Vue',
        moment: 'window.moment'
    },
  •  在项目中就可以使用以下的方式引入
import $ from "jquery"
import moment from "moment"
import Vue from 'vue'
import 'element-ui/lib/theme-default/index.css'

(2)修改全局配置

既然是使用cdn的方式引入的,那么element对象,就挂载到了window上,所以直接使用这个变量就可以。

一开始我使用Element,打印结果如下:发现不对

 

后来终于使用大写的ELEMENT变量才成功访问到element对象

查阅很多资料都没有发现为什么是大写的,后来在element的源码包里发现了暴露出的大写的ELEMENT

 

使用ELEMENT来设置Dialog的默认属性,就可以设置成功。

<script src="//cdn/element-ui-1.4.9.min.js"></script>
//全局修改默认配置
ELEMENT.Dialog.props.closeOnClickModal.default=false;
console.info(ELEMENT.Dialog);

打印结果如下:

 

 

 

### 通过CDN引入ElementUI 为了确保ElementUI能够正常工作,在使用CDN方式引入该库时,必须按照特定顺序加载必要的资源文件。具体来说,应当先加载Vue.js脚本,随后依次加载ElementUI的CSS样式表以及JavaScript组件库。 #### HTML 文件配置 在HTML文档头部`<head>`标签内加入如下代码片段用于引入所需静态资源: ```html <!-- 引入Vue --> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script> <!-- 引入样式 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> <!-- 引入组件库 --> <script src="https://unpkg.com/element-ui/lib/index.js"></script> ``` 上述代码实现了对Vue框架及其上层构建的ElementUI界面组件集的成功接入[^1]。 对于采用Webpack打包工具并希望优化项目体积的应用程序而言,可以在`vue.config.js`中设置外部依赖项来避免重复下载已由CDN提供的库文件。这一步骤并非必需但对于提升性能有益处。 #### Webpack 配置调整 (可选) 编辑项目的`vue.config.js`文件,添加或修改configureWebpack属性以声明externals选项: ```javascript module.exports = { configureWebpack: { externals: { vue: 'Vue', 'element-ui': 'ELEMENT' } } }; ``` 此段配置告知编译器当检测到导入语句指向`element-ui`模块时应查找全局命名空间下的`ELEMENT`对象而非尝试从本地node_modules目录读取相应包体[^2]。 完成以上操作后即可正常使用基于Vue开发环境中的ElementUI组件功能特性而无需担心版本兼容性问题或是额外增加不必要的网络请求开销。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值