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

北京网站设计确保代码符合w3c企业网站功能列表

北京网站设计确保代码符合w3c,企业网站功能列表,陕西企业网站建设价格,wordpress 评论 改微博大家好#xff0c;我是若川。持续组织了5个月源码共读活动#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与#xff0c;每周大家一起学习200行左右的源码#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。最近前端圈掀起了一… 大家好我是若川。持续组织了5个月源码共读活动感兴趣的可以点此加我微信 ruochuan12 参与每周大家一起学习200行左右的源码共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。最近前端圈掀起了一阵 rust 风凡是能用 rust 重写的前端工具就用 rust 重写今天介绍的工具就是通过 rust 实现的 bableswc一个将 ES6 转化为 ES5 的工具。而且在 swc 的官网很直白说自己和 babel 对标swc 和 babel 命令可以相互替换并且大部分的 babel 插件也已经实现。使用 rust 的一个优势就是快比如我们之前的一个项目将 babel 替换成 swc 后编译速度从原来的 7 秒提升到了 1 秒效率直接爆炸。 上手 swc 与 babel 一样将命令行工具、编译核心模块分化为两个包。swc/cli 类似于 babel/cli;swc/core 类似于 babel/core;npm i -D swc/cli swc/core通过如下命令可以将一个 ES6 的 JS 文件转化为 ES5。npx swc source.js -o dist.js下面是 source.js 的代码const start  ()  {console.log(app started) }代码中囊括了 ES6 的两个特性const 声明 和 箭头函数。经过 swc 转化后这两个特性分别被转化成了 var 声明 和 function 匿名函数。配置文件swc 与 babel 一样支持类似于 .babelrc 的配置文件.swcrc配置的格式为 JSON。{jsc: { // 编译规则target: es5, // 输出js的规范parser: {// 除了 ecmascript还支持 typescriptsyntax: ecmascript,// 是否解析jsx对应插件 babel/plugin-transform-react-jsxjsx: false,// 是否支持装饰器对应插件 babel/plugin-syntax-decoratorsdecorators: false,// 是否支持动态导入对应插件 babel/plugin-syntax-dynamic-importdynamicImport: false,// ……// babel 的大部分插件都能在这里找到对应配置},minify: {}, // 压缩相关配置需要先开启压缩},env: { // 编译结果相关配置targets: { // 编译结果需要适配的浏览器ie: 11 // 只兼容到 ie 11},corejs: 3 // corejs 的版本},minify: true // 是否开启压缩 }babel 的插件系统被 swc 整合成了 jsc.parser 内的配置基本上大部分插件都能照顾到。而且swc 还继承了压缩的能力通过 minify 属性开启jsc.minify 用于配置压缩相关的规则更详细的配置可查看文档。Node APIs通过在 node.js 代码中导入 swc/core 模块可以在 node.js 中调用 api 直接进行代码的编译这对 CLI 工具的开发来说是常规操作。// swc.mjs import { readFileSync } from fs import { transform } from swc/coreconst run  async ()  {const code  readFileSync(./source.js, utf-8)const result  await transform(code, {filename: source.js,})// 输出编译后代码console.log(result.code) }run()打包代码除了将代码转义swc 还提供了一个简易的打包能力。我们新建一个 src 文件夹在里面新建两个文件index.js、utils.js。// src/index.js import { log } from ./utils.js const start  ()  log(app started) start()// src/utils.js export const log  function () {console.log(...arguments) } export const errorLog  function () {console.error(...arguments) }可以看到 index.js 导入了 utils.js 中的一个方法然后我们新建一个 spack.config.js 文件该文件是 swc 打包的配置文件。// spack.config.js module.exports  {entry: {// 打包的入口web: __dirname  /src/index.js,},output: {// 打包后输出的文件夹path: __dirname  /dist,}, };然后在命令行运行$ npx spack打包成功后会在 dist 目录输出一个 web.js 文件。可以看到不仅将 index.js、utils.js 打包成了一个文件还进行了 tree shaking将 utils.js 中没有使用的 errorLog 方法删掉了。 能不能用 babel 毕竟经过了这么多年的发展不管是 bug 输了还是社区活跃度都远远优于 swc。所以如果是小产品试水还是可以试一下 swc 的旧项目如果已经使用了 babel 还是不建议进行迁移。在使用的过程还是发现了一些小问题。比如如果我使用了 async functionswc 会自动导入 regenerator-runtime 模块。// 编译前有个 async 方法 const start  async ()  {console.log(app started) }调用 swc 编译后代码如下这个结果看起来是没问题的但是 swc 与 babel 类似也有 helpersswc/helpers同时提供了 externalHelpers 开关 如果把 externalHelpers 设置为 trueswc 会将一些工具类通过模块的形式导入。// .swcrc {jsc: {externalHelpers: true} }而 externalHelpers 的默认值是 false那这个时候regenerator-runtime 到底是通过模块的形式导入还是把整个代码写入到文件swc 正好有个 issue [https://github.com/swc-project/swc/issues/1461] 在讨论这个问题。除了上面说的这个问题其实还有一点就是作者觉得之前的架构有问题正在加紧重写 2.0 版本感觉可以期待一下另外提一句swc 的作者是一个 97 年的韩国小哥目前大学都还没毕业最后我也只能说一句牛逼- END -················· 若川简介 ·················你好我是若川毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》20余篇在知乎、掘金收获超百万阅读。从2014年起每年都会写一篇年度总结已经写了7篇点击查看年度总结。同时最近组织了源码共读活动帮助3000前端人学会看源码。公众号愿景帮助5年内前端人走向前列。识别上方二维码加我微信、拉你进源码共读群今日话题略。分享、收藏、点赞、在看我的文章就是对我最大的支持
http://www.yutouwan.com/news/204863/

相关文章:

  • 搬家公司怎么做网站陕西省建设网三类人员证书查询系统
  • 优质视频素材网站网站建设竞争性磋商文件
  • 孝南区城乡建设局网站南宁网站建设开发
  • 建立网站成本最低学生做的网站能攻击
  • 涂料 网站 源码徐州手机网站建设制作
  • 网站设置二级域名省建设厅官网查询
  • 我负责与你们公司网站建设的沟通台州做鞋子网站
  • 网站风格的设计原则制作ppt模板的软件
  • 安徽建设工程建设信息网站最新网站网址永久发布
  • 松江郑州阳网站建设北京做网站
  • 网站开发php怎么样当今做啥网站致富
  • 做新媒体广告的网站宜兴市做网站
  • 杭州大型网站建设网页设计实验报告步骤分析怎么写
  • 网站营销seo商城首页设计
  • 网站建设的重要指标众筹网站怎么做推广
  • 网站开发哪里培训好合肥建筑公司有哪些
  • 环境设计专业介绍搜狗seo培训
  • 万网网站备案管理一家电子商务网站建设心得
  • 从网站栏目看网站功能php视频转码
  • 站酷做网站温州专业微网站制作公司哪家好
  • 桐城住房建设网站soho需不需要做网站弄企业邮箱
  • 产品做网站如何谁来维护价格做网站后期需要什么费用
  • 网站后台管理员怎么做最便宜的网站
  • 珠海网站建设排名域名解析不成功是什么意思
  • 网站开发建设付款方式有创意营销型网站建设
  • 做那个的网站谁有在线简历模板
  • 网站开发计算机配置国外设计网站pinterest极速版
  • 六安分公司杭州网站排名seo
  • 深圳工信部网站备案网站正能量下载直接进入主页可以吗安全吗
  • 建设网站后如何上线wordpress接入支付宝