webpack使用了什么框架?

webpack使用HtmlWebpackPlugin进行cdn配置。

在上一篇文章中,我们介绍了cdn的实现原理。现在,让我们来认识一下如何在形式化开发中使用cdn功能。要使用cdn功能,我们需要cdn服务提供商。我们可以自己搭建,也可以使用一些知名的服务商。幸运的是,市场上有许多免费的cdn服务提供商,例如:

其中,BootCDN是Bootstrap中文网支持和维护的前端开源项目免费CDN服务,项目资源与cdnjs仓库同步。界面比较美观,支持搜索功能,可以在线测试cdn是否正常,下面以Bootcdn为例。

在以前的项目开发中,我们经常使用webpack来构建项目,它有两个主要功能,即

webpack中cdn的使用是在静态资源打包生成的时候完成的。主要原理是使用html-webpack-plugin动态插入cdn链接。

这里就不介绍webpack的使用了,以vue-cli2.x生成的默认项目为例。

Html-webpack-plugin是webpack的一个插件,可以动态创建和编辑Html内容。在html中使用esj语法可以读取配置中的参数,简化了html文件的构造。

这次我们主要用它来动态插入cdn链接,比如链接标签,脚本标签。

在线项目地址

vue-cli2.x

使用webpack类型创建一个名为webpack-cdn-demo的vue项目。如果安装的vue-cli是3.x版,命令会有所不同。请参见vue-cli3了解详细信息。

安装依赖性

启动一个项目

下面简单介绍一下目录结构。

build文件夹中的webpack.prod.conf.js是我们的主文件,我们在其中动态设置不需要打包的模块,并构建适当的链接。

在webpack项目中,引入的第三方资源将被统一打包到vender文件中。我们可以通过webpack的externals属性设置包排除这个模块。详情请参见外部扩展。

在前面的步骤中,我们创建了包括vue和vue-router的项目。正式开发中,会有element-ui等ui库。为了演示方便,我们安装了element-ui和axios两个模块,并在构建时实现了这个模块以cdn的形式引入。

安装时注意记住-S,它的作用是安装后在package.json项目文件中插入记录,后续操作需要读取已安装的模块。

对于cdn,我们可以自己搭建,也可以使用专业的cdn服务商。在这里,我们使用免费的cdnbootcdn。选择免费的cdn有很多好处,但毕竟有一个隐患,就是服务可能会崩溃。

依次搜索前面的模块,结果如下

根据规则,cdn资源路径规则如下

其他cdn服务商也一样。

其实使用cdn就是在webpack热启动打包的时候动态插入脚本和样式链接。为了维护方便,我们在build/utils.js文件中增加了几个方法,以后可以在webpack.dev.conf.js和webpack.prod.conf.js上使用。

如果没有build/utils.js,可以添加到其他文件中,只要后续步骤可以操作即可。

命名模块名,与package.json相同

范围模块范围命名

Jsjs地址

Csscss地址

这里要特别注意scope,这是webpack配置的外部参数下的信息。比如vue的作用域名称是Vue,vue-router的作用域名称是VueRouter,element-ui的作用域名称是element。同样,jq的作用域名称是JQuery。具体方法是先引入这个资源,然后在控制台中依次输入近似值,一一匹配(目前还没有找到更好的方法)。

我们可以在webpack热启动时使用cdn进行本地调试。

在build/webpack.dev.conf.js中,已经默认引入了utils.js,可以直接调用相关方法。如果是自定义文件,记得介绍一下。

我们可以给它添加一些自定义属性,方便在index.html调用。,现修改如下:

cdnConfig和onlyCss自定义属性可以通过htmlWebpackPlugin.options以html格式读取..

更多html-webpack-plugin配置。官网,这里暂时不需要更多。

打包的时候我们用的是cdn,配置和之前的dev差不多,但是需要多做一步。

注意这里的externalModules,后面会用到,也就是比dev多几个步骤。

添加与dev相同的两个配置,但只需要将Css改为true,因为我们在打包时要使用比css更多的内容。

webpack配置已经完成,相关参数已经添加到html-webpack-plugin中,可以直接在页面上使用。语法是ejs,类似于ASP.NET、jsp和php。

及格

webpack配置已经修改,项目需要重启才能生效。

打包项目

可见包装体积大大减少。

Cdn资源在页面上也有正确的介绍。

最后,git地址:https://gitee.com/zhkumsg/webpack-cdn-demo

比悲伤更悲伤的分割线。

原来两年前有人做了一种类型的webpack-cdn-plugin。

网站访问速度很慢,用CDN是否可以解决这个问题呢?

CDN可以解决部分问题,但需要先搞清楚自己网站的问题在哪里,同时需要知道CDN可以在哪些方面发挥最佳作用。

1.网站的主要内容如果是静态的,比如图片,而服务器到访问者之间的网络不佳(比如服务器在国外,而访问者主要在国内),那么使用国内的CDN服务可以改善访问速度的问题。

2.如果网站的主要内容是交互的(比如论坛类的),每个页面的信息可能是实时更新实时生成的,如架构为PHP+数据库(ASP+数据库等类似模式),那么CDN并不能发挥太多的作用,这种情况下先确保服务器的处理能力足够反而是更加重要,如果是虚拟主机或者是VPS做服务器的话,先确保服务器的资源足够网站程序的运行(CPU的核数与线程数,内存大小)。特别是网站的访问量比较大的情况下,这个问题根据突出。

CDN主要是解决静态内容的网络传输问题,如果确认瓶颈在这方面,那么使用CDN确实可以起到立竿见影的作用(比如前面提到的,服务器在国外,而大多数访问者在国内)。

京瓷m5021cdn怎么扫描?

1.首先连接电脑,并且成功安装扫描仪驱动。

2.找到打印机图标,然后右击并点击“开始扫描”。

3.选择并点击“扫描”,然后再点击“快速扫描设置”选项。

4.将文件格式设置为所需目标格式后保存,就可以扫描到电脑上了

腾讯云的cdn流量包是用来干嘛的?我搭了个服务器,那流量怎么没办法用?

CDN流量包是专门给网站提供加速服务的,不是服务器上用的。

服务器有自有的流量或者带宽,不一样的。

cdn浴霸开关怎么使用?

具体的方法如下

1.拿着浴霸的遥控器按住待机键开关3秒钟,遥控器上的屏幕时间开闪动,

2.接着按着上面的时间强弱调整小时,然后再按待遥控器的待机键,分钟开始闪动,

3.按着遥控器的强弱键调整分钟,在按遥控器的待机键结束,cdn浴霸开关即可使用了。

域名下的文件怎么做cdn加速?

做cdn加速一般是用cname的方式接入,将域名cname到cdn,再回源到服务器,设置需要加速的文件类型,例如jscsspng等等



  • webpack浣跨敤浜嗕粈涔堟鏋?
    绛旓細鍏跺疄浣跨敤cdn灏辨槸鍦webpack鐑惎鍔ㄦ墦鍖呯殑鏃跺欏姩鎬佹彃鍏ヨ剼鏈拰鏍峰紡閾炬帴銆備负浜嗙淮鎶ゆ柟渚匡紝鎴戜滑鍦╞uild/utils.js鏂囦欢涓鍔犱簡鍑犱釜鏂规硶锛屼互鍚庡彲浠ュ湪webpack.dev.conf.js鍜寃ebpack.prod.conf.js涓婁娇鐢ㄣ傚鏋滄病鏈塨uild/utils.js锛屽彲浠ユ坊鍔犲埌鍏朵粬鏂囦欢涓紝鍙鍚庣画姝ラ鍙互鎿嶄綔鍗冲彲銆傚懡鍚嶆ā鍧楀悕锛屼笌package.json鐩稿悓 鑼...
  • 鍓嶇妗嗘灦--Webpack瀛︿範瀹夎
    绛旓細寮濮嬮厤缃鐨鏂囦欢杩囩▼濡備笅锛氬嚭鐜颁箣鍚庡彧瑕佸洖杞﹀嵆鍙細閰嶇疆鎴愬姛涔嬪悗鍙互鏌ョ湅鍒板垱寤虹殑鏂囦欢锛歱ackage.json 鐢缂栬緫鍣ㄦ墦寮濡備笅锛4.瀹夎webpack渚濊禆锛氬湪cmd杈撳叆锛歯pm install webpack --save-dev鍥炶溅 鎴愬姛濡備笅锛氬埌杩欎竴姝ヨ〃绀簑ebpack宸茬粡瀹夎鎴愬姛锛 5.瀹夎鎴愬姛鍚庢枃浠跺す鍑虹幇鐨勭姸鍐碉細package.json鏂囦欢鏇存柊涓猴細杈冧箣鍓嶇殑澶...
  • 濡備綍鍒╃敤AngularJs蹇熸惌寤哄墠绔熀鏈妗嗘灦
    绛旓細妗嗘灦鐨鐗圭偣浣垮緱椤圭洰 鍦ㄧ姸鎬佸彉鏇淬佸垎椤电殑鍦烘櫙涓嬪彲浠ユ嫢鏈夊緢澶х殑渚垮埄鈥斺旀墍鏈夌殑鎿嶄綔鍙渶瑕佸彉鏇存暟缁勶紝娌℃湁浠讳綍鐨刣om鎿嶄綔銆 webpack鈥斺擟ommonJS鐨勫紩鐢ㄥ拰缂栧啓鏂瑰紡銆乴oader闈炲父鐨勪赴瀵岋紝鍖呮嫭vue-loader銆乧ss-loader銆乴ess-loader webpack鏄墠绔粍浠跺寲鐨勮В鍐虫柟妗堬紝webpack鎻愪緵浜嗘牳蹇冪殑CommonJS寮曠敤鏂规鍘诲紩鐢ㄨ祫婧愶紝...
  • vue椤圭洰閮ㄧ讲蹇呴』鐢╪ginx鍚
    绛旓細vue椤圭洰閮ㄧ讲蹇呴』鐢╪ginx銆倂ue椤圭洰閮ㄧ讲浣跨敤鐨鏄webpack鎻愪緵鐨刾roxyTable鍋氱殑浠g悊浠庤岃В鍐充簡寮鍙戠幆澧冪殑璺ㄥ煙璇锋眰闂锛岄渶瑕佷娇鐢∟ginx鍋氬弽鍚戜唬鐞嗭紝鍥犳vue椤圭洰閮ㄧ讲蹇呴』鐢╪ginx銆倂ue鏄竴涓瀯寤烘暟鎹┍鍔ㄧ殑web鐣岄潰鐨勬笎杩涘紡妗嗘灦銆
  • webpack nodejs npm鍏崇郴
    绛旓細1.webpack瀹夎涓鑸娇鐢╪pm锛岄偅涔堜篃闇瑕佸畨瑁卬ode锛岃屽悗鍙颁笉鎯崇敤nodeJs缂栧啓锛岃繖鏍锋槸涓嶆槸澶氫綑锛屾瘯绔熶笉鐢╪odeJs,涓轰粈涔堣鍥犱负浣跨敤webpage鑰岃鍔ㄥ畨瑁卬ode鍛紵锛堣鍘熻皡鎴戝杩欐柟闈㈢煡璇嗙殑娆犵己= =锛2.涓嶄粎鏄痸ue.js浣跨敤npm锛屽緢澶氬ソ鐨勬鏋鍜屽伐鍏烽兘浣跨敤锛岃繖閲岃繕璇峰ぇ绁炲憡璇夋垜npm銆乶ode銆乶odejs浠栦滑涔嬮棿鐨勫叧绯伙紝濂芥贩涔...
  • 濡備綍閫氳繃 Vue+Webpack 鏉ュ仛閫氱敤鐨勫墠绔粍浠跺寲鏋舵瀯璁捐
    绛旓細鍚屾椂vue涔熸槸鍙互鎷挎潵鍋氬墠绔灦鏋勮璁$殑锛屾瘮濡傦細vueify + vue-router 锛坰pa妗嗘灦锛夈倂ue瀛︿範鍦板潃锛歨ttp://cn.vuejs.org/ 浠ヤ笂璇翠簡閭d箞澶氭病鐢ㄧ殑锛屼笅闈㈠氨鏉ョ偣骞叉椿浜嗭紒鎴戠殑鍓嶇缁勪欢鍖栨灦鏋勮璁★紝鐩綍濡備笅锛氶」鐩灦鏋勭敤鍒扮殑鐭ヨ瘑鐐癸紝杩樻槸鎸哄鐨勶紝鐭ヨ瘑娓呭崟濡備笅锛氾蓟1锛: gulp + webpack 鏋勫缓鎵撳寘宸ュ叿锛 ...
  • 鍖楀ぇ闈掗笩璁捐鍩硅:web鍓嶇寮鍙戦兘瀛浠涔?
    绛旓細7.React锛氬涔犱娇鐢≧eact鍓嶇妗嗘灦杩涜铏氭嫙DOM寮鍙戯紝鍖呮嫭缁勪欢鍖栨濇兂銆佺敓鍛藉懆鏈熴佺姸鎬佺鐞嗙瓑銆8.Webpack锛氬涔犱娇鐢╓ebpack鎵撳寘鍜岀鐞嗗墠绔祫婧愶紝鍖呮嫭閰嶇疆鏂囦欢銆佹彃浠躲佹ā鍧楀寲寮鍙戠瓑銆傞櫎姝や箣澶栵紝杩樹細娑夊強鍒颁竴浜涘伐鍏风殑浣跨敤锛屾瘮濡侴it浠g爜绠$悊宸ュ叿銆乶pm鍖呯鐞嗗伐鍏风瓑銆傛暣涓绋嬩細缁撳悎瀹為檯椤圭洰妗堜緥杩涜璁茶В锛岃瀛﹀憳鑳藉鏇村ソ...
  • js涓嶫query鐨鍖哄埆鏄浠涔?
    绛旓細1銆佸湪build/webpack.dev.conf.js鍜宐uild/webpack.prod.conf.js涓厤缃嵆鍙2銆佸湪妯″潡涓浣跨敤鐨鏃跺欎唬鐮佸涓嬶細plugins:[//杩欓噷鏄渶瑕佸鍏ョ殑鎻掍欢鍒楄〃锛屽畾鎰忔漥query涓哄叏灞鍙傛暟newwebpack.ProvidePlugin({$:'jquery',jquery:'jquery','window.jQuery':'jquery',jQuery:'jquery'})]鍙互浣跨敤import鐨勮繖绉嶅啓娉...
  • 鍓嶇寮鍙妗嗘灦鏈鍝簺_鍓嶇鏋舵瀯鏈夊摢浜
    绛旓細4銆乶g2-admin 杩欐槸鍩轰簬Angular2銆丅ootstrap4鍜寃ebpack鐨勫悗鍙扮鐞嗛潰鏉挎鏋讹紝瑕佹敹鍓嶉潰宸茬粡鏈変簡React鍜寁ue鎶鏈爤鐨勬ā鏉匡紝閭f庝箞鑳藉皯浜唍g鐨勶紵铏界劧鍦ㄥ浗澶栫敤鐨勬瘮杈冨锛屽浗鍐呰緝灏戜娇鐢紝浣嗕笣姣笉褰卞搷ng浣滀负鍓嶇妗嗘灦涓夊法澶翠箣涓鐨勫湴浣嶃5锛欸entelella Gentelella鏄竴涓彲鍏嶈垂浣跨敤鐨凚ootstrap绠$悊鐣岄潰妯$増锛屼娇鐢ㄧ兢浣...
  • 鍓嶇ui妗嗘灦鏈鍝簺
    绛旓細at-ui 鏄竴娆鹃樋閲屽洟闃熷垱寤虹殑鍩轰簬 Vue 2.x 鐨勫墠绔 UI 缁勪欢搴擄紝涓昏鐢ㄤ簬蹇熷紑鍙 PC 缃戠珯浜у搧銆 瀹冩彁渚涗簡涓濂 npmwebpackbabel 鍓嶇寮鍙戝伐浣滄祦绋嬶紝CSS 鏍峰紡鐙珛锛屽嵆浣块噰鐢ㄤ笉鍚岀殑妗嗘灦瀹炵幇閮借兘淇濇寔缁熶竴鐨 UI 椋庢牸銆俛maze UI amaze UI Amaze UI 鏄竴涓Щ鍔ㄤ紭鍏堢殑璺ㄥ睆鍓嶇妗嗘灦銆傛彁渚涘熀纭鏍峰紡锛岀綉鏍硷紝琛ㄦ牸...
  • 扩展阅读:web前端三大主流框架 ... java三大主流框架 ... webpack官网 ... web开发三大框架 ... webpack配置参数 ... webpack使用教程 ... webpack使用步骤 ... webpack chunk ... webpack externals ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网