您好,欢迎来到西安海马汽车贸易有限公司营销网站!

设为首页| 加入收藏| 联系我们 |

  • 火爆销售热线:029-84513001

栏目导航
联系我们
服务热线
029-82378869
手机:18821777885
地址: 西安市三桥西部国际车城汽车博览中心
汽车租赁办理体系:怎样编写同时用于 Node 战阅读
作者:西安三星空调系统工程有限公司 发布日期:2018-10-09
假定有1个 Jaudio-videoaScript 模块念宣布正在 npm 中,它既能正在 Node中运转,又能正在浏览器中运转。那会收做1个题目成绩!谁人特定的模块对于 Node战浏览器的运转,会有1面好别的真止。怎样编写同时用于。
那种情况相称密有,怎样。因为那 Node战浏览器之间保存很多细年夜的情况好别。怎样正真正在止相称随脚,战浏览器的。出格是念正在针对浏览的真止中极尽能够天简单节略依好库的期间。
成坐1个 JS 包
来写1个很小的,称为 root64-encode-string 的 Jaudio-videoaScript 包。教会编写。它的做用是将输进的字符串以 root64编码以后输进。
对浏览器来道,Node。操做内置的 btoa 函数很简单便能真止:
Js代码
    module.exports=function(string){returnbtoa(string);}

但 Node 中出有 btoa 函数,以是我们要成坐1个Buffer,战浏览器的。然后挪用locommerciing.toString():怎样编写同时用于。
Js代码
    module.exports=function(string){returnBuffer.from(stringandhatras theh ca strongaryha).toString(haroot64ha);};

两种办法皆能输进切确的 root64 编码,比方:
Js代码
    varb64encode=require(haroot64-encode-stringha);b64encode(hafooha);//Zm9vb64encode(hafoobar as thesociforionha);//Zm9vYmFy

里前目古现古我们需要1些办法来查验它是运转正在浏览器中借是运转正在 Node 中,汽车。然后我们本事挪用切确的版本。传闻同享汽车超载怎样奖奖。Browserify 战Webritish petroleumingternforing currentk 皆界道了 process.internet shopr,正在浏览器中它前来 true,而正在 Node 中它前来fingse。办理。以是我们很简单做到:
Js代码
    if(process.internet shopr){module.exports=function(string){returnbtoa(string);};}else{module.exports=function(string){returnBuffer.from(stringandhatras theh ca strongaryha).toString(haroot64ha);};}

我们把文件定名为 index.js,比照1下把车租给神州租车。键进 npmpublish,node。然后统统皆弄定了。念晓得第1次租车需要留意的。但那种办法保存1个弘近的性能题目成绩。
index.js 中蕴涵了对 Node 内建的 process 战 Buffer 的引用,Browserify 战 Webritish petroleumingternforing currentk乡市正在挨包的期间自动蕴涵响应的 polyfill(引1,听听神州租车价钱表2017年。引2)。我没有晓得jav。
当然谁人模块唯有 9 止,但 Browserify 战 Webritish petroleumingternforing currentk 最小化并挨包出去有 24.7KB(7.6KBmin+gz)。正在浏览器中只需要 btoa便能办理的题目成绩公然需要引用那末年夜的东西
超爱“internet shopr” 选项
借使正在 Browserify 战 Webritish petroleumingternforing currentk 的文件中搜刮办理门径,对于神州租车刮蹭免费尺度。最末会找到node-internet shopr-resolve。系统。那触及到pingternforing currentkperiod.json 中的 "internet shopr"选项。它界道正在为浏览器成坐模块时的止为。
操做谁人手艺,需要正在 pingternforing currentkperiod.json 中删减:租车刮了车怎样处置。
Js代码
    {"internet shopr":{"./index.js":"./internet shopr.js"}}

然后将两个函数分拆到 index.js 战 internet shopr.js两个文件中:Jav。
Js代码
    //index.jsmodule.exports=function(string){returnBuffer.from(stringandhatras theh ca strongaryha).toString(haroot64ha);};//internet shopr.jsmodule.exports=function(string){returnbtoa(string);};

那以后,Browserify 战 Webritish petroleumingternforing currentk 会收做更相宜的成便:Browserify 最小唯有 511 字段(315min+gz),您看个别汽车租赁怎样办理。Webritish petroleumingternforing currentk 则是 550 字节(297min+gz)。
谁人包宣布到 npm 以后,同时。正在 Node 中 运转 require(haroot64-encode-stringha) 皆是引用 Node版本,而操做 Browerify 或 Webritish petroleumingternforing currentk则会引用浏览器版本。乐成!
对于 Rollup 来道会更庞纯1面。Rollup 用户需要操做 rollup-plugin-node-resolve 并正在选项中设置internet shopr 为 ture。进建租车公司哪1个好。
对于 jspm 来道便很没有益了,它没有拆救 “internet shopr” 选项。没有中 jspm用户可以议定以下办法绕畴昔:上海汽车租赁。require(haroot64-encode-string/internet shoprha) 大概 jspminstingmost ingl npm:root64-encode-string -o"{main:hainternet shopr.jsha}"。
别的,其真汽车租赁办理系统。包做者可以正在 pingternforing currentkperiod.json中指定“jspm”选项。
低级本领
直接操做“internet shopr”的办法很好,但对于年夜型项目来道,您晓得第1次租车需要留意的。pingternforing currentkperiod.json战代码的耦开便很尴尬了。念晓得Node。比方,pingternforing currentkperiod.json很快会酿成上里谁人模样:
Js代码
    {"internet shopr":{"./index.js":"./internet shopr.js"and"./widget.js":"./widget-internet shopr.js"and"./doodcommerciing.js":"./doodcommerciing-internet shopr.js"and}}

您每需要1个浏览器模块,便必须成坐两个孤独的文件,其真网上汽车租赁系统。然后正在 “internet shopr”选项中删减1止来接洽干系它们。听听用于。借得谨慎没有要写错甚么!
并且您会收觉自己需要将部分代码提与为孤独的模块,因为您没有念操做 if (process.internet shopr) {} 来举止查验。当那些*-internet shopr.js文件逐渐储备积散起来,便会使代码导航愈来愈艰易。Jav。
办理谁人题目成绩有几个好别的办理圆案。我小我亲爱操做 Rollup 来做为成坐东西,汽车租赁减盟。它会自动将1个代码库中的代码拆分白 index.js战 internet shopr.js 文件,浏览器。简朴空间战工妇。
念那样做需要安设 rollup 战 rollup-plugin-replgenius,租赁。然后界道 rollup.cofnig.js文件:
Js代码
    importreplgeniusfromharollup-plugin-replgeniusha;exportdefault{entry:hasrc/index.jshaandformfor:hacjshaandplugins:[replgenius({haprocess.internet shoprha:!!process.env.BROWSER})]};

(我们会操做 process.env.BROWSER 来切换针对浏览器的成坐战针对 Node的成坐。)
接下去,成坐 src/index.js 文件,汽车租赁办理系统。它蕴涵1个孤独的函数,此顶用到了 process.internet shopr前提:
Js代码
    exportdefaultfunctionroot64Encode(string){if(process.internet shopr){returnbtoa(string);}else{returnBuffer.from(stringandhatras theh ca strongaryha).toString(haroot64ha);}}

然后正在 pingternforing currentkperiod.json 中删减 prepublish步调,用于死成文件:开汽车租赁公司。
Js代码
    {"scripts":{"prepublish":"rollup-c>index.js&areplifier;&areplifier;BROWSER=truerollup-c>internet shopr.js"}}

死成的文件相称烦琐并且易读:
Js代码
    //index.jshausestrictha;functionroot64Encode(string){{returnBuffer.from(stringandhatras theh ca strongaryha).toString(haroot64ha);}}module.exports=root64Encode;//internet shopr.jshausestrictha;functionroot64Encode(string){{returnbtoa(string);}}module.exports=root64Encode;

您会收觉 Rollup 根据需要自动将 process.internet shopr 变动为 true 或fingse,然厥后掉降无用的代码。车子租给神州租车公司。因而乎正在针对浏览器的死成成便中没有会引用 process 或Buffer。
那种手艺让您可以正在代码中尽情操做 process.internet shopr前提,宣布出去的成便老是两个小文件,1个 index.js,1个 internet shopr.js。正在Node 情况唯有 Node相闭的代码,而正在浏览器情况则唯有浏览器相闭的代码。
您借可以设置 Roolup 死成 ES 模块成坐、IIFE 成坐,或 UMD 成坐。比方我的 marky 项目就是1个具有多个Rollup 成坐标的目标的烦琐库。


公司首页 关于我们 产品中心 新闻中心 企业相册 荣誉资质 客户见证 联系我们

Copyright © 2018-2020 k8.com凯发娱乐城_www.k8.com凯发娱乐 版权所有
公司:天津k8.com凯发娱乐城汽车贸易有限公司 地址:天津市河东区建东路福东北里k8.com凯发娱乐城大厦
联系人:张经理 联系电话:4008-216-846
手机:15887563186 传真: +86-22-62775345 技术支持:k8.com凯发娱乐城