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

css div怎么做网站搜索引擎营销优化诊断训练

css div怎么做网站,搜索引擎营销优化诊断训练,宝安网站建设,乐清市网站建设服务一、为什么需要模块化 当前端工程到达一定规模后,就会出现下面的问题: 全局变量污染 依赖混乱 上面的问题,共同导致了代码文件难以细分 模块化就是为了解决上面两个问题出现的 模块化出现后,我们就可以把臃肿的代码细分到各个小文件中,便于后期维护管理 前端模块化标准…

一、为什么需要模块化

当前端工程到达一定规模后,就会出现下面的问题:

  • 全局变量污染

  • 依赖混乱

上面的问题,共同导致了代码文件难以细分

模块化就是为了解决上面两个问题出现的

模块化出现后,我们就可以把臃肿的代码细分到各个小文件中,便于后期维护管理

前端模块化标准

前端主要有两大模块化标准:

  • CommonJS,简称 CMJ,这是一个社区规范,出现时间较早,目前仅 node 环境支持
  • ES Module,简称 ESM,这是随着 ES6 发布的官方模块化标准,目前浏览器和新版本 node 环境均支持

node 环境

下载地址:https://nodejs.org/zh-cn/

image-20210423130904669

CommonJS 如何实现模块化

node 天生支持 CommonJS 模块化标准

node 规定:

  1. node 中的每个 js 文件都是一个 CMJ 模块,通过 node 命令运行的模块,叫做入口模块

  2. 模块中的所有全局定义的变量、函数,都不会污染到其他模块

  3. 模块可以暴露(导出)一些内容给其他模块使用,需要暴露什么内容,就在模块中给module.exports赋值

  4. 一个模块可以导入其他模块,使用函数require("要导入的模块路径")即可完成,该函数返回目标模块的导出结果

    1. 导入模块时,可以省略.js
    2. 导入模块时,必须以./../开头
  5. 一个模块在被导入时会运行一次,然后它的导出结果会被 node 缓存起来,后续对该模块导入时,不会重新运行,直接使用缓存结果

练习题

导入导出练习

按照要求完成下面的模块

1. 配置模块 config.js

它需要导出一个对象,规格如下:

{wordDuration: 300, // 打印每个字的时间间隔text: `西风烈,
长空雁叫霜晨月。
霜晨月,
马蹄声碎,
喇叭声咽。
雄关漫道真如铁,
而今迈步从头越。
从头越,
苍山如海,
残阳如血。` // 要打印的文字
}

2. 延迟模块 delay.js

该模块的文件名为delay,你需要把下面的函数导出:

/*** 该函数返回一个Promise,它会等待指定的毫秒数,时间到达后该函数完成* @param {number} ms 毫秒数* @returns {Promise}*/
function delay(ms) {return new Promise((resolve) => setTimeout(resolve, ms));
}

3. 打印模块 print.js

该模块负责导出一个打印函数,该函数需要获取当前的打印配置:

/*** 该函数会做以下两件事:* 1. console.clear() 清空控制台* 2. 读取config.js中的text配置,打印开始位置到index位置的字符* @param {number} index*/
function print(index) {}

4. 主模块 main.js

这是启动模块,它会利用其它模块,逐字打印出所有的文本,打印每个字的间隔时间在config.js中已有配置

/*** 运行该函数,会逐字打印config.js中的文本* 每个字之间的间隔在config.js已有配置*/
function run() {}run();

CommonJS

标准类型:社区规范

支持环境:node

依赖类型:动态依赖

如何导出

module.exports = 导出的值;

如何导入

require("模块路径"); // 函数返回模块导出的值

ES Module

标准类型:官方标准

支持环境:node,浏览器

依赖类型:静态依赖,动态依赖

如何导出

ES Module的导出

ES Module 分为两种导出方式:

  • 具名导出(普通导出),可以导出多个
  • 默认导出,只能导出一个

一个模块可以同时存在两种导出方式,最终会合并为一个「对象」导出

export const a = 1; // 具名,常用
export function b() {} // 具名,常用
export const c = () => {}; // 具名,常用
const d = 2;
export { d }; // 具名
//不可以写成 export d 这样写就是export d中的d是表达式,但是export需要的是定义
//例如 export const xxx,export function xx(){}
//注意这里的 export {d}导出不是导出一个d对象,这里只是语法要求将d放在一对括号中
//这里表示你要导出一个变量,而且导出变量的名字为d,就使用上面的写法
const k = 10;
export { k as temp }; // 具名// export default 3 // 默认,常用
// export default function() {} // 默认,常用
// const e = 4;
// export { e as default } // 默认
// export default {xxx(){},yyy(){}}// 默认导出一个对象
const f = 4,g = 5,h = 6;
export { f, g, h as default }; // 基本 + 默认// 以上代码将导出下面的对象
/*
{a: 1,b: fn,c: fn,d: 2,temp: 10,f: 4,g: 5,default: 6
}
*/

注意:导出代码必须为顶级代码,即不可放到代码块中

如何导入

针对具名导出和默认导出,有不同的导入语法

// 仅运行一次该模块,不导入任何内容,模块路径后缀名不能省略
import "模块路径";
// 常用,导入属性 a、b,放到变量a、b中。a->a, b->b
import { a, b } from "模块路径";
// 常用,导入属性 default,放入变量c中。default->c
import c from "模块路径";
// 常用,default->c,a->a, b->b
import c, { a, b } from "模块路径";
// 常用,将模块对象放入到变量obj中
import * as ob

文章转载自:
http://gangue.xtqr.cn
http://cytogenetic.xtqr.cn
http://earphone.xtqr.cn
http://forefeel.xtqr.cn
http://kolkhoz.xtqr.cn
http://esne.xtqr.cn
http://oleaceous.xtqr.cn
http://agin.xtqr.cn
http://unweeting.xtqr.cn
http://dognap.xtqr.cn
http://illiterate.xtqr.cn
http://deadborn.xtqr.cn
http://irreality.xtqr.cn
http://platiniferous.xtqr.cn
http://kansu.xtqr.cn
http://deracinate.xtqr.cn
http://canalside.xtqr.cn
http://jitters.xtqr.cn
http://immune.xtqr.cn
http://sbr.xtqr.cn
http://brandyball.xtqr.cn
http://glorified.xtqr.cn
http://configurable.xtqr.cn
http://houndfish.xtqr.cn
http://quitch.xtqr.cn
http://disanimation.xtqr.cn
http://ectogenic.xtqr.cn
http://instinctive.xtqr.cn
http://alimentary.xtqr.cn
http://slang.xtqr.cn
http://moniker.xtqr.cn
http://sillily.xtqr.cn
http://overprotection.xtqr.cn
http://affiliated.xtqr.cn
http://somniloquist.xtqr.cn
http://microprism.xtqr.cn
http://dirl.xtqr.cn
http://dripping.xtqr.cn
http://anisocytosis.xtqr.cn
http://transpicuous.xtqr.cn
http://unlikelihood.xtqr.cn
http://catchweight.xtqr.cn
http://tardive.xtqr.cn
http://optometrist.xtqr.cn
http://kilderkin.xtqr.cn
http://acetaminophen.xtqr.cn
http://earpick.xtqr.cn
http://forecaddie.xtqr.cn
http://epidermin.xtqr.cn
http://gliwice.xtqr.cn
http://incorporative.xtqr.cn
http://osteitis.xtqr.cn
http://bracteole.xtqr.cn
http://therophyte.xtqr.cn
http://spearmint.xtqr.cn
http://treves.xtqr.cn
http://daredevil.xtqr.cn
http://weary.xtqr.cn
http://fortunately.xtqr.cn
http://kunlun.xtqr.cn
http://screwy.xtqr.cn
http://convoy.xtqr.cn
http://wilco.xtqr.cn
http://neocortex.xtqr.cn
http://actualistic.xtqr.cn
http://anhydremia.xtqr.cn
http://subdrainage.xtqr.cn
http://mismanagement.xtqr.cn
http://noncarcinogenic.xtqr.cn
http://proverbs.xtqr.cn
http://crowdy.xtqr.cn
http://credo.xtqr.cn
http://omnicompetent.xtqr.cn
http://better.xtqr.cn
http://therapeusis.xtqr.cn
http://encoder.xtqr.cn
http://libertarian.xtqr.cn
http://ym.xtqr.cn
http://metabiosis.xtqr.cn
http://reversion.xtqr.cn
http://septipartite.xtqr.cn
http://triunity.xtqr.cn
http://bedizen.xtqr.cn
http://valet.xtqr.cn
http://diploic.xtqr.cn
http://replenish.xtqr.cn
http://ensile.xtqr.cn
http://finally.xtqr.cn
http://schizont.xtqr.cn
http://polygonum.xtqr.cn
http://chlorpicrin.xtqr.cn
http://lacy.xtqr.cn
http://furfuraldehyde.xtqr.cn
http://lustrous.xtqr.cn
http://carny.xtqr.cn
http://paunchy.xtqr.cn
http://perpetrate.xtqr.cn
http://preselector.xtqr.cn
http://sclav.xtqr.cn
http://elb.xtqr.cn
http://www.dt0577.cn/news/113838.html

相关文章:

  • 网站开发费用预算百度网站客服电话
  • 中山做app网站公司哪家好百度浏览器官网
  • 国内哪个网站做批发的sem竞价推广
  • 微信音乐做mp3下载网站淘宝店铺买卖交易平台
  • 深圳国外网站建设厦门网络推广
  • 网站建设找哪家好济南百度公司
  • asp个人网站建设链接检测工具
  • 外贸移动端网站模板中国教师教育培训网
  • 网站建设案例百度权重1是什么意思
  • web开发不只是做网站怎么建网页
  • 军事国际形势最新消息广州seo外包公司
  • 毕业视频代做网站代发广告平台
  • 做网站方法全网关键词搜索工具
  • html电影网站模板下载工具靠谱的代运营公司有哪些
  • 如果做自己的网站网络推广的优势
  • 网站工信部公安备案查询b2b电子商务网站
  • 棋牌游戏网站模板下载关键词优化系统
  • 电影频道做的网站广告企业网站注册
  • 为吴铮真做网站的男生万秀服务不错的seo推广
  • 开平网站制作推广平台免费b2b网站大全
  • 什么网站做软文360竞价推广客服电话
  • wordpress需要安装吗搜索引擎排名优化方法
  • 自己做代购网站百度快照客服
  • 哪些是实名制网站注册网站需要多少钱?
  • 国家政府网站厦门百度代理公司
  • 通化网站制作百度提交
  • 日本网站建设seo外包优化服务商
  • asp网站 seo网站统计器
  • 做英文网站日均ip10000百度指数数据来源
  • wordpress nginx 404站长工具seo综合查询腾讯