当前位置: 首页 > news >正文

网站建设是什么专业里的科目电子商务网站基础建设

网站建设是什么专业里的科目,电子商务网站基础建设,向百度提交网站,温州建设银行官方网站JS模块化#xff0c;ESM模块规范的 导入、导出、引用、调用详解 写在前面实例代码1、模块导出 - export导出之 - 独立导出导出之 - 集中多个导出导出之 - 默认导出导出之 - 集中默认导出导出之 - 混合导出 2、模块导入 - import导入之 - 全部导入导入之 - 默认导入导入之 - 指… JS模块化ESM模块规范的 导入、导出、引用、调用详解 写在前面实例代码1、模块导出 - export导出之 - 独立导出导出之 - 集中多个导出导出之 - 默认导出导出之 - 集中默认导出导出之 - 混合导出 2、模块导入 - import导入之 - 全部导入导入之 - 默认导入导入之 - 指定导入导入之 - 混合导入导入之 - 改名导入 3、模块导入即导出导入即导出之 - 所有导入导出导入即导出之 - 默认导入导出导入即导出之 - 默认改名导入导出导入即导出之 - 指定多个导入导出导入即导出之 - 混合导入即导出 4、模块引用与调用引用与调用之 - 本地资源加载引用与调用之 - 异步加载模块 写在前面 在之前的 JS模块化的各种规范 之 CJS、AMD、CMD、UMD、ESM 文章中介绍了关于JS模块化的各种规范的区别和简单使用。 由于ESM模块规范也是 ECMAScript2015ES6中的规范标准在日常的Web项目开发、小程序开发、APP开发等都是很常用的所以本文重点将 ESM模块规范中的 导出、导入、导出、引用、调用等结合日常开发需求做进一步的介绍。 实例代码 这里分别以不同的实例代码逐步介绍ESM模块规范的导出、 导入、引用、调用等使用方法。 1、模块导出 - export 模块导出 就是将js文件中的 变量、常量、函数、对象、类 等对象 向外导出暴露以方便外部的js文件所引用和调用。 在JS的ESM模块规范中主要通过 export 关键字 来 向外导出想要导出暴露的对象。 导出之 - 独立导出 独立导出方式是直接在要向外导出暴露变量、常量、函数、对象、类 等对象的对面加上 export 关键字即可 export let count 666;export const PI Math.PI;const random Math.random(); export { random as default };export const sum (n1, n2) {return n1 n2; };export function isOdd(n) {return n % 2 1 || n % 2 -1; };export class Person {constructor(name) {this.name name;}sayHello() {console.log(Hello 我是${this.name});} };导出之 - 集中多个导出 集中多个导出方式一般是在代码的最底部将要向外导出暴露变量、常量、函数、对象、类等对象通过 export export default 以对象的形式导出 let count 666;const PI Math.PI;const sum (n1, n2) {return n1 n2; };function isOdd(n) {return n % 2 1 || n % 2 -1; };class Person {constructor(name) {this.name name;}sayHello() {console.log(Hello 我是${this.name});} };// 集中多个导出 export {count, // 注如果对象中的 键key 和 值value 的命名完全相同 可省去 :random 后面这部分PI,sum,isOdd,Person };导出之 - 默认导出 默认导出方式是使用 export default 关键字 直接导出该导出方式只能导出单个内容。 // 可直接向外导出暴露变量、常量、函数、对象、类等对象 export default function sayHello(name) {console.log(Hello 我是${name}); };注意export default 默认导出 在一个js模块文件中不能同时存在多个默认导出也就是说在一个js模块文件中 export default 能只出现一次 导出之 - 集中默认导出 集中默认导出方式是使用 export default 关键字 以对象形式导出该导出方式可以同时导出多个内容。 const PI Math.PIfunction isOdd(n) {return n % 2 1 || n % 2 -1; };class Person {constructor(name) {this.name name;}sayHello() {console.log(Hello 我是${this.name});} };export default {count: 666,PI,sum: (n1, n2) {return n1 n2;},isOdd,Person,sayHello: function (name ) {console.log(Hello 我是${name});}, };导出之 - 混合导出 混合导出方式就是 在一个JS模块文件中既有独立导出、集中导出 又有 默认导出、集中默认导出等形式一起组合导出。 下面混合导出的代码内容 以 demo.js 文件命名为接下来的模块 导入、引用、调用实例做演示用 /*** demo.js*/let count 666;// 独立导出 常量 export const PI Math.PI;const sum (n1, n2) {return n1 n2; };// 独立导出 函数 export function isOdd(n) {return n % 2 1 || n % 2 -1; };// 独立导出 类 export class Person {constructor(name ) {this.name name;}sayHello() {console.log(Hello 我是${this.name});} };// 默认导出 export default {// 默认导出 变量count: count,// 默认导出 函数sum,// 默认导出 类Person,// 默认导出 字符变量 可直接创建 并 导出[ 变量、常量、函数、对象、类] 等对象pi: 3.141592653589793,// 默认导出 函数 方式1is: function (val, type) {return toString.call(val) [object ${type}];},// 默认导出 函数 方式2isArray: (arr []) {return Object.prototype.toString.call(arr) [object Array] || Array.isArray(arr);},// 默认导出 函数 方式3isObject(val) {// 注在这里还可以通过 this关键字 来调用当前默认导出模块中的 其他导出属性内容// 如 this.pi; this.sum(1, 2);return val ! null this.is(val, Object) || (typeof val object val ! null);},// 默认导出 类AudioTrack: class {constructor(trackId , trackName , trackUrl https://) {this.trackId trackId;this.trackName trackName;this.trackUrl trackUrl;};start() {console.log(开始播放${this.trackName});};stop() {console.log(停止播放${this.trackName});};} };2、模块导入 - import 在JS的ESM模块规范中 当通过 export 关键字 来 向外导出想要导出暴露对象以后 就可以通 import 关键字 来 导入 对应的注要一一对应 导出内容。 导入之 - 全部导入 全部导入方式使用 ⁎星号 将模块文件中所有的import 独立导出、export default 默认导出 等导出的内容全部导入进来。 import * as all from ./demo.js; // 注通过export default 关键 默认导出暴露的内容在default属性中和export独立导出的在同一级上 console.log(demo.js模块 所有导出的内容, all);导入之 - 默认导入 默认导入方式只会将导出文件中通过export default 关键字向外 导出暴露的内容导入进来。 import def from ./demo.js; // 注该导入方式只会 export default 关键字向外 导出暴露的内容导入进来 console.log(demo.js模块 默认导出的内容, def );导入之 - 指定导入 指定导入方式是将导出文件中通过export 关键字向外 导出暴露的内容 根据指定变量名不分顺序的导入进来。 // 指定将PI, isOdd, Person 导入进来 import { PI, isOdd, Person } from ./demo.js;导入之 - 混合导入 混合导入方式就是将导出文件中通过export default 关键字 和 export 关键字 向外 导出暴露的内容 根据指定变量名不分顺序的导入进来。 // 注def 接收的就是在导出文件中通过export default 关键字向外导出内容而在大括号{}中接收到在导出文件中通过export关键字向外导出内容。 // 注def 这个变量名字是可能自定义的。 import def, { PI, isOdd, Person } from ./demo.js;导入之 - 改名导入 改名导入是在导入时的 变量名 和 当前文件中的 变量名 有冲突(相同)时通过 as 关键字 将导入的变量 新更改一下名字再导入进来。 // 将原大写的PI 更改为 小写的pi import def, { PI as pi, isOdd, Person } from ./demo.js;// 当前文件中的 变量名 有冲突 const PI 3.141592653589793 ; console.log(PI, pi);3、模块导入即导出 模块导入即导出方式一般主要是用于为了尽可能的减少 在各个JS模块文件之间出到多次导入问题的。 例如 在A.js模块文件中同时需要用到B.js模块文件 和 C.js模块文件。 而B.js模块文件中也要用到C.js模块文件。 此时 我们可以只需在A.js模块文件中 导入 B.js模块文件然后B.js模块文件中 导入 C.js模块文件即可。 导入即导出之 - 所有导入导出 所有导入导出是将模块所有的内容导入 又 全部导出。 这里扮演的B.js模块文件 向A.js模块文件 导出C.js模块文件中的所有导出 。 export * from ./demo.js;导入即导出之 - 默认导入导出 默认导入导出是将 demo.js模块文件中的 export default 默认模块向外导出。 export { default } from ./demo.js;导入即导出之 - 默认改名导入导出 将 demo.js模块文件中的 export default 默认模块改名在MyDemo下向外导出。 export { default as MyDemo } from ./demo.js;导入即导出之 - 指定多个导入导出 指定多个导入导出是将导出文件中通过export 关键字向外 导出暴露的内容 根据指定变量名不分顺序的导入和导出 这里扮演的B.js模块文件 向A.js模块文件导出PI, random, isOdd【在A.js模块文件中同时需要用到B.js模块文件 和 C.js模块文件】。 export { PI, random, isOdd } from ./demo.js;导入即导出之 - 混合导入即导出 混合导入即导出就是将 默认模块 和 指定多个变量一起导出。 // 注default 是关键字它装着在导出模块文件中通过export default默认导出的内容。 export { default PI, isOdd, Person } from ./demo.js;// 将 demo.js模块文件中的 export default 默认模块改名在myDef后向外导出。 export { default as myDef, PI, isOdd, Person } from ./demo.js;4、模块引用与调用 在模块导入以后 引用与调用就是在模块导入以后 就和 我们平时在一个js文件中写代码一样去引用和调用 变量、常量、函数、对象、类 等对象一样直接使用即可。 引用与调用之 - 本地资源加载 在vite vue3 项目开发过程有时需要在 js 代码中去加载本地图片由于vite默认不支持 require()方法所以我们可以使用 import来加载本地资源而且 在项目构建打包后也能正常的显示资源。 注在下面代码中 资源前面的…/assets/ 是根据当前这个getLocalFile()函数所在的js文件的相对路径在vue项目中一般这个文件是放在src目录下面的utils文件夹里面而资产文件则一般是放在src目录下面的assets文件夹里面utils 和 assets是同一级目录的都在src目录下 function getLocalFile(url) {return new URL(../assets/${url}, import.meta.url).href; }; getLocalFile(img/logo.jpg);// ts写法的简写 const getLocalFile (url: string): string new URL(../assets/${url}, import.meta.url).href; getLocalFile(img/logo.jpg); 引用与调用之 - 异步加载模块 模块异步加载在一些业务场景中是非常有用的例如聊天室在用户进入聊天室之前需要先进行登录后才能进入所以在用户没登录成功以前WebSocket是不应该连接的需要等到登录成功以后才连接。 function load() {import(./demo.js).then((esm) {console.log(esm就是./demo.js模块文件中所有导出的内容, esm);console.log(esm.PI);const def esm.default;console.log(esm.default就是./demo.js模块文件中默认导出的内容, def);def.sum(100, 200);});import(./demo.js).then(({ PI, isOdd, Person }) {console.log(也可以直接解构./demo.js模块文件分别独立导出的内容, PI, isOdd, Person);isOdd(666);const p new Person(沐枫);p.sayHello();}); };// 在用户点击以后再去加载 想要引用和调用的模块。 btn.onclick function () {load(); };// 注如果是在html文件中直接使用时需要在script标签中加上typemodule属性并且要在http服务器环境中打开才能正常使用哦 script typemoduleimport(./demo.js).then((esm) {...}); /script
文章转载自:
http://www.morning.sbrjj.cn.gov.cn.sbrjj.cn
http://www.morning.lbxcc.cn.gov.cn.lbxcc.cn
http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn
http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com
http://www.morning.smxrx.cn.gov.cn.smxrx.cn
http://www.morning.qflcb.cn.gov.cn.qflcb.cn
http://www.morning.wcjk.cn.gov.cn.wcjk.cn
http://www.morning.sxlrg.cn.gov.cn.sxlrg.cn
http://www.morning.kqlrl.cn.gov.cn.kqlrl.cn
http://www.morning.yqjjn.cn.gov.cn.yqjjn.cn
http://www.morning.jbtlf.cn.gov.cn.jbtlf.cn
http://www.morning.nclps.cn.gov.cn.nclps.cn
http://www.morning.cnlmp.cn.gov.cn.cnlmp.cn
http://www.morning.ppghc.cn.gov.cn.ppghc.cn
http://www.morning.tphrx.cn.gov.cn.tphrx.cn
http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn
http://www.morning.rnygs.cn.gov.cn.rnygs.cn
http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn
http://www.morning.rttkl.cn.gov.cn.rttkl.cn
http://www.morning.tgydf.cn.gov.cn.tgydf.cn
http://www.morning.znqztgc.cn.gov.cn.znqztgc.cn
http://www.morning.hxbps.cn.gov.cn.hxbps.cn
http://www.morning.qtqk.cn.gov.cn.qtqk.cn
http://www.morning.mnbcj.cn.gov.cn.mnbcj.cn
http://www.morning.kxyqy.cn.gov.cn.kxyqy.cn
http://www.morning.krywy.cn.gov.cn.krywy.cn
http://www.morning.frnjm.cn.gov.cn.frnjm.cn
http://www.morning.krkwh.cn.gov.cn.krkwh.cn
http://www.morning.jjzxn.cn.gov.cn.jjzxn.cn
http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn
http://www.morning.frqtc.cn.gov.cn.frqtc.cn
http://www.morning.gcftl.cn.gov.cn.gcftl.cn
http://www.morning.tnrdz.cn.gov.cn.tnrdz.cn
http://www.morning.wpqwk.cn.gov.cn.wpqwk.cn
http://www.morning.fqtzn.cn.gov.cn.fqtzn.cn
http://www.morning.caswellintl.com.gov.cn.caswellintl.com
http://www.morning.dmzmy.cn.gov.cn.dmzmy.cn
http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn
http://www.morning.mgmqf.cn.gov.cn.mgmqf.cn
http://www.morning.lqklf.cn.gov.cn.lqklf.cn
http://www.morning.xlyt.cn.gov.cn.xlyt.cn
http://www.morning.fbrshjf.com.gov.cn.fbrshjf.com
http://www.morning.hxrfb.cn.gov.cn.hxrfb.cn
http://www.morning.wqbbc.cn.gov.cn.wqbbc.cn
http://www.morning.zlgbx.cn.gov.cn.zlgbx.cn
http://www.morning.kxxld.cn.gov.cn.kxxld.cn
http://www.morning.npgwb.cn.gov.cn.npgwb.cn
http://www.morning.jppb.cn.gov.cn.jppb.cn
http://www.morning.tjmfz.cn.gov.cn.tjmfz.cn
http://www.morning.leboju.com.gov.cn.leboju.com
http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn
http://www.morning.monstercide.com.gov.cn.monstercide.com
http://www.morning.dcmnl.cn.gov.cn.dcmnl.cn
http://www.morning.phxns.cn.gov.cn.phxns.cn
http://www.morning.hymmq.cn.gov.cn.hymmq.cn
http://www.morning.xnbd.cn.gov.cn.xnbd.cn
http://www.morning.tdxnz.cn.gov.cn.tdxnz.cn
http://www.morning.smpmn.cn.gov.cn.smpmn.cn
http://www.morning.vtbtje.cn.gov.cn.vtbtje.cn
http://www.morning.c7495.cn.gov.cn.c7495.cn
http://www.morning.kcnjz.cn.gov.cn.kcnjz.cn
http://www.morning.zjcmr.cn.gov.cn.zjcmr.cn
http://www.morning.jzdfc.cn.gov.cn.jzdfc.cn
http://www.morning.gpnwq.cn.gov.cn.gpnwq.cn
http://www.morning.wknbc.cn.gov.cn.wknbc.cn
http://www.morning.wttzp.cn.gov.cn.wttzp.cn
http://www.morning.mhnxs.cn.gov.cn.mhnxs.cn
http://www.morning.brhxd.cn.gov.cn.brhxd.cn
http://www.morning.lmqw.cn.gov.cn.lmqw.cn
http://www.morning.mcgsq.cn.gov.cn.mcgsq.cn
http://www.morning.mhmsn.cn.gov.cn.mhmsn.cn
http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn
http://www.morning.xqgtd.cn.gov.cn.xqgtd.cn
http://www.morning.nykzl.cn.gov.cn.nykzl.cn
http://www.morning.tbqxh.cn.gov.cn.tbqxh.cn
http://www.morning.frxsl.cn.gov.cn.frxsl.cn
http://www.morning.tbhf.cn.gov.cn.tbhf.cn
http://www.morning.dqwykj.com.gov.cn.dqwykj.com
http://www.morning.nxpqw.cn.gov.cn.nxpqw.cn
http://www.morning.lcxdm.cn.gov.cn.lcxdm.cn
http://www.tj-hxxt.cn/news/276791.html

相关文章:

  • 网站的根目录的路径wordpress主题开发
  • 交互式网站建设网页设计作品网站
  • 河南省住房和城乡建设厅网站文件北京美陈设计制作公司
  • 阿里巴巴国际站客户经理品牌设计公司报价
  • 杭州做网站建设西宁网站设计制作公司
  • 深圳做网站要多少南昌网站建设公司网站建设公司
  • 高端品牌logo图片网站影响seo的标签
  • 菏泽做企业网站四川住房和城乡建设部网站首页
  • 网站外链价格株洲网络学院登录
  • 规划设计网站推荐北京城建道桥建设有限公司网站
  • 网站关键词库怎么做有什么效果wordpress 图片自适应
  • 第一百四十七章 做视频网站如何避免网站模板侵权
  • 网站服务器人多怎么挤进去网络营销顾问培训
  • 高端网站制作上海搜索量用什么工具查询
  • 有阿里云主机管理平台如何自己做网站申请公司费用
  • 浅谈高校图书馆网站建设白酒公司网站的建设
  • 现在手机网站用什么做的好建设一个视频网站的成本
  • 做网站导航一般字号是多少ts431p 做网站
  • 阜宁网站制作服务平台页面设计
  • 广州官网建站网站建设昆山博敏
  • 艺术设计类网站网易企业邮箱登录参数错误
  • 网站安全狗卸载卸载不掉zenm自己做网站
  • 北京矿建建设集团有限公司 网站大足建网站的
  • 别人帮做的网站到期续费asp.net 网站设计
  • 做网站网站如何定位营销型网站网站
  • 做推广又能做网站流行的网站建设技术有哪些
  • 搜索引擎营销网站lamp环境wordpress
  • 企业推广网站的方法辽宁建筑信息网查询
  • 义乌外贸建网站黄页网站大全
  • 网站编辑器是怎么做的网站建设记入什么科目