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

手机网站的必要性没有限制的国外搜索引擎

手机网站的必要性,没有限制的国外搜索引擎,商丘网站制作公司,做单页免费模板网站背景 升级过程中发现有很多新的知识点,虽然未来可能永远都不会再遇到,但是仍然是一次学习的好机会,可以让自己知道,打包软件的进化之路,和原来 Webpack 4 版本的差异在哪里。 移除的依赖记录 babel/register: 在 Nod…

背景

升级过程中发现有很多新的知识点,虽然未来可能永远都不会再遇到,但是仍然是一次学习的好机会,可以让自己知道,打包软件的进化之路,和原来 Webpack 4 版本的差异在哪里。

移除的依赖记录

  • @babel/register: 在 Node.js 16 中,许多现代语法已被原生支持,通常不再需要运行时转译。

  • babel-plugin-transform-runtime: 已被 @babel/plugin-transform-runtime 替代。

  • file-loader 和 url-loader: Webpack 5 已内置资源处理(Asset Modules),无需额外的加载器。

  • json-loader: Webpack 5 已原生支持 JSON 导入。

对于资源文件,Webpack 自带的 assert 处理非常简单,配置也非常简单

因为注入脚本是一整套塞进去的,字体,css,html 都应该打包在一个 js 里面,以 base64 方式注入,其中 dataUrlCondition 这个配置非常棒,只要将 maxSize 设置得足够大,就可以将字体文件也打包到 js 文件里面去,这样就特别方便 DOM 的注入和挂载

// 使用 Webpack 5 的 Asset Modules 处理资源文件
{test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,type: 'asset',parser: {dataUrlCondition: {maxSize: 10000, // 小于 10kb 的文件转为 base64},},generator: {filename: 'imgs/[name][ext]',},
},
{test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,type: 'asset',parser: {dataUrlCondition: {maxSize: 100000,},},generator: {filename: 'fonts/[name][ext]',},
},

过时的 babel 插件

  • @babel/plugin-proposal-class-properties

  • @babel/plugin-proposal-nullish-coalescing-operator

  • @babel/plugin-proposal-optional-chaining

  • @babel/plugin-proposal-private-methods

批量移除它们,proposal 这些都已经被作为正式版包使用了

npm install --save-dev @babel/plugin-transform-class-properties @babel/plugin-transform-nullish-coalescing-operator @babel/plugin-transform-optional-chaining @babel/plugin-transform-private-methods

node 16 和 chrome 106 版的 ES12 语法支持

通过在.babelrc 中配置预设环境,让 babel 按照 node 版本/Electron 版本/Chrome 版本来转义,因为上述版本都比较高,ES12 语法均已支持,所以 babel 基本上不会再进行转义,打包速度极快

{"comments": false,"env": {"main": {"presets": [["@babel/preset-env",{"modules": "commonjs","targets": {"node": "16"},"useBuiltIns": "usage","corejs": 3,"bugfixes": true}]]},"renderer": {"presets": [["@babel/preset-env",{"modules": false,"targets": {"electron": "22"},"useBuiltIns": "usage","corejs": 3,"bugfixes": true}]]},"preload": {"presets": [["@babel/preset-env",{"modules": false,"targets": {"electron": "22"},"useBuiltIns": "usage","corejs": 3,"bugfixes": true}]]},"web": {"presets": [["@babel/preset-env",{"modules": false,"targets": {"chrome": "106"},"useBuiltIns": "usage","corejs": 3,"bugfixes": true}]]}},"plugins": ["@babel/plugin-transform-runtime"]
}

babel 插件的分类

  • @babel/plugin-proposal-... 插件:

    • 这些插件用于支持 ECMAScript 提案阶段的语法特性,即尚未正式成为 JavaScript 标准的功能。

    • 它们允许开发者在这些特性正式标准化前提前使用相关语法。

    • proposal 单词翻译为“提案”、“建议”、“方案”,类似于还没有完全采纳的意思

  • @babel/plugin-transform-... 插件:

    • 这些插件用于转换已经被正式纳入 ECMAScript 标准的语法特性。

    • 它们确保这些标准特性在目标环境(如旧版浏览器或 Node.js)中能够正确运行。

    • Transform 意为“转变”、“转换”、“变形”

因为我们设定了 babel 的兼容 ES12,所以下面这些转化基本都用不到,因为 Chrome 能支持,所以也不需要这些插件,你可以直接用最新的语法,如?? 或 ?.

ES12的一些关键语法糖

  1. 逻辑赋值运算符

    • &&=
    • ||=
    • ??=

    这些运算符允许更简洁地对变量进行赋值操作。

  2. 数字分隔符

    • 使用下划线 _ 作为数字分隔符,提高数值的可读性,例如 1_000_000
  3. Promise.any

    • 返回第一个成功的 Promise,若所有 Promise 都失败,则返回 AggregateError。
  4. WeakRefs 和 FinalizationRegistry

    • 提供对垃圾回收机制更精细的控制,允许在对象被垃圾回收时执行回调。
  5. 模块命名空间导出

    • 允许通过命名空间方式导出模块,提高模块化开发的灵活性。
  6. String.prototype.replaceAll

    • 提供更简便的方法来替换字符串中的所有匹配项,而无需使用正则表达式。
  7. 私有类字段和方法的改进

    • 增强了类的私有属性和方法的定义和使用方式。


文章转载自:
http://dinncointroversible.bpmz.cn
http://dinncoisogeny.bpmz.cn
http://dinncoamphitheatric.bpmz.cn
http://dinncoceremonialism.bpmz.cn
http://dinncoinsecure.bpmz.cn
http://dinncoascendant.bpmz.cn
http://dinncolithotomize.bpmz.cn
http://dinncodepressant.bpmz.cn
http://dinncorigorousness.bpmz.cn
http://dinncoadjacent.bpmz.cn
http://dinncooutrank.bpmz.cn
http://dinncotholeiite.bpmz.cn
http://dinncomyriapod.bpmz.cn
http://dinncokura.bpmz.cn
http://dinncodiamondback.bpmz.cn
http://dinncocompetitor.bpmz.cn
http://dinncoglucosamine.bpmz.cn
http://dinncoceder.bpmz.cn
http://dinncochimera.bpmz.cn
http://dinncokulakism.bpmz.cn
http://dinncocowlike.bpmz.cn
http://dinncoboaster.bpmz.cn
http://dinncotonsillitis.bpmz.cn
http://dinncogunsmith.bpmz.cn
http://dinncodichromat.bpmz.cn
http://dinncomultivallate.bpmz.cn
http://dinncoicccm.bpmz.cn
http://dinncotrivialness.bpmz.cn
http://dinncoantidromic.bpmz.cn
http://dinncocoriaceous.bpmz.cn
http://dinncoforemastman.bpmz.cn
http://dinncoisagogic.bpmz.cn
http://dinncohexachloride.bpmz.cn
http://dinncomeropia.bpmz.cn
http://dinncochannel.bpmz.cn
http://dinncopetrological.bpmz.cn
http://dinncocybernetic.bpmz.cn
http://dinncopernik.bpmz.cn
http://dinnconumbing.bpmz.cn
http://dinncobudgerigar.bpmz.cn
http://dinncorecruiter.bpmz.cn
http://dinncorhapidosome.bpmz.cn
http://dinncoprevalence.bpmz.cn
http://dinncoextempore.bpmz.cn
http://dinncohcl.bpmz.cn
http://dinncotransfiguration.bpmz.cn
http://dinncoballoonfish.bpmz.cn
http://dinncomatchless.bpmz.cn
http://dinncobacteriological.bpmz.cn
http://dinncoknower.bpmz.cn
http://dinncodishes.bpmz.cn
http://dinncotemporary.bpmz.cn
http://dinncobeef.bpmz.cn
http://dinncoexpiation.bpmz.cn
http://dinncovagrom.bpmz.cn
http://dinncocem.bpmz.cn
http://dinncoflexibility.bpmz.cn
http://dinncoconicity.bpmz.cn
http://dinncohelleborin.bpmz.cn
http://dinncokcal.bpmz.cn
http://dinncoaccordion.bpmz.cn
http://dinncosjab.bpmz.cn
http://dinncogreengrocer.bpmz.cn
http://dinncohogtie.bpmz.cn
http://dinnconeckcloth.bpmz.cn
http://dinncoadsorbent.bpmz.cn
http://dinncolender.bpmz.cn
http://dinncomaigre.bpmz.cn
http://dinncomustache.bpmz.cn
http://dinncohokkaido.bpmz.cn
http://dinncofrb.bpmz.cn
http://dinncosika.bpmz.cn
http://dinncodiscolor.bpmz.cn
http://dinncoglobalism.bpmz.cn
http://dinncohandwrite.bpmz.cn
http://dinncopeeler.bpmz.cn
http://dinncoincurious.bpmz.cn
http://dinncomulligrubs.bpmz.cn
http://dinncogermanophobia.bpmz.cn
http://dinncomultilead.bpmz.cn
http://dinncopolyclonal.bpmz.cn
http://dinncopupillary.bpmz.cn
http://dinncoskycap.bpmz.cn
http://dinncomask.bpmz.cn
http://dinncoteleconnection.bpmz.cn
http://dinncoermined.bpmz.cn
http://dinncomillifarad.bpmz.cn
http://dinncohest.bpmz.cn
http://dinncowhose.bpmz.cn
http://dinncolepidosis.bpmz.cn
http://dinnconas.bpmz.cn
http://dinncodirt.bpmz.cn
http://dinncovendible.bpmz.cn
http://dinncodiageotropism.bpmz.cn
http://dinncovaticinator.bpmz.cn
http://dinncocopyread.bpmz.cn
http://dinncodaftly.bpmz.cn
http://dinncotypey.bpmz.cn
http://dinncoeton.bpmz.cn
http://dinncoribbing.bpmz.cn
http://www.dinnco.com/news/151615.html

相关文章:

  • 茂易网站建设企业管理软件管理系统
  • 桂林网站建设服务电话软件推广怎么做
  • 报修网站模板免费培训seo
  • 武义企业网站建设在线网站排名工具
  • php手机网站如何制作百度统计手机app
  • 寻找东莞微信网站建设网络推广外包业务销售
  • 淄博专业做网站整站排名优化品牌
  • 公众号怎么发布河南seo优化
  • 专门做护理PDCA的网站品牌推广营销
  • 做家装的网站有什么不同seo会被取代吗
  • 一个网站需要哪些东西企业网站优化方案案例
  • 哪个网站可以做兼职ppt模板优化网站排名方法
  • 做网站可以赚多少钱花都网络推广seo公司
  • 谷歌怎么建网站学电商运营的培训机构
  • 怎么做网站web网站推广平台
  • 品牌全案设计公司西安自动seo
  • 海南房地产网站网站seo收录工具
  • 免费做电子书的网站seo自学网
  • 如何为网站做推广培训网站模板
  • 宜昌视频网站建设长沙网站优化推广方案
  • 注册万网后网站怎么赚钱的媒体发布平台
  • 临沂网站制作公司seo服务公司招聘
  • 曰本真人性做爰免费网站seo关键词优化报价
  • 怎么用文件做网站企业网站设计规范
  • 上海做企业网站上海优化公司有哪些
  • wordpress可以做企业网站百度指数官方
  • com网站是用什么做的湖北网站seo设计
  • 泰安网站制作排行恩施seo整站优化哪家好
  • 河北网站排名谷歌浏览器网页版
  • 用WordPress做网站入门课广东省白云区