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

潍坊做网站的公司市场营销教材电子版

潍坊做网站的公司,市场营销教材电子版,网站备案地址,中国跨境电商平台排行榜前十名Mode配置 Mode配置选项可以告知Webpack使用相应模式的内置优化 默认值是production(什么都不设置的情况下) 可选值有:none | development | production; 这几个选项有什么区别呢? 认识source-map 我们的代码通常运行在浏览器…

Mode配置

Mode配置选项可以告知Webpack使用相应模式的内置优化

默认值是production(什么都不设置的情况下)

可选值有:'none' | 'development' | 'production';

这几个选项有什么区别呢?

认识source-map

我们的代码通常运行在浏览器上时可以打包压缩

真实跑在浏览器上的代码和我们编写的代码有差异

ES6的代码可能被转成ES5

对应的代码行号和列号在经过编译后肯定不一致

代码进行丑化压缩时会将编码名称等修改

使用TypeScript编写的代码最终转成JS

原始源的时候,调试转换后的代码(打包后的代码)是很困难的

因为我们不能保证代码不出错

如何调试转换后不一致的代码呢?

就是用source-map

source-map是从已经转换的代码到原始的源文件

使浏览器可以重构原始源并且在调试器中显示重建的原始源

如何使用source-map

第一步:根据源文件,生成source-map文件,webpack在打包时,可以通过配置生成source-map

const path = require('path');module.exports = {mode:'development',entry:'./src/index.js', devtool:'source-map',output:{path:path.resolve(__dirname,'./build'),filename:"bundle.js"},
}

第二步:在转换后的代码最后添加一个注释,它指向sourcemap

浏览器会根据我们的注释查找相应的source-map,根据source-map还原代码方便进行调试

在Chrome中可以按照下面的方式打开source-map

最初source-map生成的文件大小是原始文件的十倍,第二版减少了百分之五十,第三版又减少了百分之五十

目前一个133kb的文件,最终的source-map的大小在300kb

目前的source-map长什么样

version:当前使用的版本,也是最新的第三版

sources:从哪些文件转换过来的source-map和打包的代码(最初始的文件)

names:转换前的变量和属性名称

mapping:source-map用来和源文件映射的信息,一串base64 VLQ编码

file:打包后的文件(浏览器加载的文件)

sourceContent:转换前的具体代码信息(和source是对应关系)

sourceRoot:所有的sources相对的根目录

devtool可以设置二十六个值

选择不同的值生成的source-map会略有差异,打包的过程也会有性能的差异,可以根据不同的情况进行选择

为什么需要babel

想要用ES6和TypeScript就得会babel

 babel可以作为独立的工具来使用

安装:

 npm install @babel/core @babel/cli -D

安装个插件: 

npm install @babel/plugin-transform-block-scoping -D

使用插件:

npx babel ./src --out-dir ./build --plugins=@babel/plugin-transform-block-scoping
//const定义常量(ES6)
const message = 'Hello World';
console.log(message);const foo = ()=>{console.log("foo function exec!");
}
foo();

使用完插件文件就发生了转化:

//const定义常量(ES6)
var message = 'Hello World';
console.log(message);
var foo = () => {console.log("foo function exec!");
};
foo();

bebel每使用一种转换都要新安装东西和对应的命令也太麻烦了

所以babel给我们提供了preset预设

npm install @babel/preset-env -D

使用预设:

npx babel ./src --out-dir ./build --presets=@babel/preset-env

Babel的底层原理

babel可以看成一个编译器,将源代码转换成浏览器可以直接识别的另一段源代码

babel的工作流程也和编译器一样:

解析阶段

转换阶段

生成阶段

http://www.dtcms.com/wzjs/517276.html

相关文章:

  • 一般网站的架构网络营销师是做什么的
  • 做网站的必要性最稳定的灰色词排名
  • 版面设计网站seo搜索引擎招聘
  • 网站建设供应商税点室内设计网站
  • 做网站代码的含义教育培训加盟
  • php做网站搜索框常州seo外包公司
  • 内蒙古建设委员会官方网站广东seo点击排名软件哪里好
  • 大型网站建设历史关键词排名推广怎么做
  • 外贸网站建设 东莞自己做一个网站需要什么
  • cocos2d-js可以做网站吗中央下令全国各地核酸检测
  • 创新的网站建设利于seo的建站系统有哪些
  • 做新疆行知书网站步骤云南seo简单整站优化
  • 长沙网站推广¥做下拉去118cr武汉网站优化公司
  • 为什么现在好多人嘲讽做核酸网站seo服务公司
  • dota2max网站怎么做壁纸云南新闻最新消息今天
  • 做网站必须要注册公司么百度在线咨询
  • 自己的网站怎么做淘宝联盟国家认可的教育培训机构
  • 网站建设公司哪家比较好优化网站制作方法大全
  • 微信小程序卖货怎么弄南宁百度seo价格
  • 自己怎么建网站appseo网络搜索引擎优化
  • 辽宁seo成都seo培训班
  • 北仑建设局网站厦门seo推广外包
  • 成都网站营销批发关键词推广和定向推广
  • 哈尔滨模板建站公司推荐亚马逊关键词排名提升
  • 信息企业网站建设的优势sem是什么意思?
  • 政府网站集约化建设要建立统一的2021最新免费的推广引流软件
  • 中国响应式网站建设品牌网站建设
  • 购物网站开发多少钱cnzz站长统计工具
  • 一家专门做动漫的网站西安seo
  • 如何查询一个网站的空间服务商百度学术官网登录入口