请问如何获知 CDN 一个库后它的 window 全局名称呢?

起因是因为我觉得 webpack 的压缩实在是配置得太恼火还意义不大,干脆就用 CDN 引库算了,我的服务器可能是太烂了,一个 1MB 多点的文件传起来也要八九秒,这我还折腾啥。

自己找了一些资料

官方文档<外部扩展(externals)>

本站的一篇分享

大概怎么操作的话,我心里算是有数了,但有一个问题,对于一个我不熟悉的组件,如何获知它的 window 全局名称呢?

就比如说 elementUI ,这也是久负盛名了,我一开始猜想一个成熟的组件库肯定都有介绍怎么使用 import 方法导入嘛,这个 import 语句中 import name from '...' 的 name 是不是就会是这个全局名称?但是我自己试验了一下并没有成功,看起来我这种想法好像不对..

所以想请教一下到底用什么方法可以解决这个问题,最好是能从官方文档知晓,而不是靠谷歌百度之类的搜到一个问题,然后里面有一个大佬解答..

谢谢

阅读 3.9k
4 个回答

先不说别的,我咋感觉你连官方的文档都没好好看过呢:

ElementUI 安装

这是官方的示例就是直接使用的CDN引入。

最简单直接的方法,就是你引完cdn后打开当前开发网页,调出console面板,输入window,回车,然后就出来了呀
图中ELEMENT就是element-ui的全局对象,Vue就是vue的全局对象
(一般导入的库在window中的名字就是导入的库的名字的首字母大写版,全大写版,加 $ 版,自身名称版等)

图片描述

使用import出来的都不是全局的,直接<script></script>引入的,一般都有例子吧,xxx.abc(),这个xxx就是全局的。

目前能想到的就是查看源码,下图中的global就是指代windows,这了把ReacRouter挂载到全局。

另外简单处理,个人认为可以用Pascal命名法来转换,react-dom => ReactDom , react-router => ReacRouter,常见的一些库都是按照该方式。

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏