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

苏州网站制作设计嘉兴seo外包公司费用

苏州网站制作设计,嘉兴seo外包公司费用,衡水大型网站建设,微网站免费建设平台rollup 总结 什么是 rollup? rollup 是一个 JavaScript 模块打包器,在功能上要完成的事和 webpack 性质一样,就是将小块代码编译成大块复杂的代码,例如 library 或应用程序。在平时开发应用程序时,我们基本上选择用 webpack,相比之下,rollup.js 更多是用于 library 打…

rollup 总结

什么是 rollup?

rollup 是一个 JavaScript 模块打包器,在功能上要完成的事和 webpack 性质一样,就是将小块代码编译成大块复杂的代码,例如 library 或应用程序。在平时开发应用程序时,我们基本上选择用 webpack,相比之下,rollup.js 更多是用于 library 打包,我们熟悉的 vue、react、vuex、vue-router 等都是用 rollup 进行打包的。

rollup 安装

首先是安装:

npm i rollup -D

打包一个 js 文件

新建一个项目,并安装 rollup,创建两个文件:hello.js 和 index.js

"dev": "rollup -i src/index.js -o dist/bundle.js -f es"

在这段指令中:

  • -i指定要打包的文件,-i--input的缩写。
  • src/index.js-i的参数,即打包入口文件。
  • -o指定输出的文件,是--output.file--file的缩写。(如果没有这个参数,则直接输出到控制台)
  • dist/bundle.js-o的参数,即输出文件。
  • -f指定打包文件的格式,-f--format的缩写。
  • es-f的参数,表示打包文件使用 ES6 模块规范。

6 种格式分别适合在什么场景使用?

rollup 支持的打包文件的格式有 amd, cjs, es\esm, iife, umdsystem。其中,amdAMD 标准,cjsCommonJS 标准,esm\esES 模块标准,iife 为立即调用函数, umd 同时支持 amdcjsiife

  • IIFE: 适合部分场景作为 SDK 进行使用,尤其是需要把自己挂到 window 上的场景。
  • CommonJS: 仅 node.js 使用的库。
  • AMD: 只需要在浏览器端使用的场景。
  • UMD: 既可能在浏览器端也可能在 node.js 里使用的场景。
  • SystemJs: 和 UMD 类似。目前较出名的 Angular 用的就是它。
  • ESM: 1. 还会被引用、二次编译的场景(如组件库等);2.浏览器调试场景如 vite.js的开发时。3.对浏览器兼容性非常宽松的场景。

rollup 配置文件

在项目开发中,我们通常会使用配置文件,这不仅可以简化命令行操作,同时还能启用 rollup 的高级特性。

在项目根目录下创建rollup.config.js

export default {input: './src/index.js',output: [{file: './dist/index-umd.js',format: 'umd',name: 'myLib',//当入口文件有export时,'umd'和'iife'格式必须指定name//这样,在通过<script>标签引入时,才能通过name访问到export的内容。},{file: './dist/index-es.js',format: 'es',},{file: './dist/index-cjs.js',format: 'cjs',},],
}

使用 Rollup 的配置文件,可以使用rollup --config或者rollup -c指令。

//修改package.json的script字段
"dev": "rollup -c"                 // 默认使用rollup.config.js
"dev": "rollup -c my.config.js"    //使用自定义的配置文件,my.config.js

rollup 插件

上面我们知道了 rollup 的基础用法,在实际应用中,会有很多更复杂的需求,比如,怎样支持 es6 语法,怎样打包.vue 文件,怎样压缩我们 js 的代码等等。在 rollup 中,我们借助插件来完成。

在 webpack 中,使用 loader 对源文件进行预处理,plugin 完成构建打包的特定功能需求。rollup 的 plugin 兼具 webpack 中 loader 和 plugin 的功能。

rollup-plugin-babel

rollup-plugin-babel用于转换 es6 语法。

src/hello.js中的内容改写成:

export const hello = () => {console.log('hello world')
}

在未使用 babel 插件的情况下,打包之后箭头函数仍然未转换

使用 babel 插件:

npm i rollup-plugin-babel @babel/core @babel/preset-env -D
//rollup.config.js
import babel from 'rollup-plugin-babel'
export default {plugins: [babel({exclude: 'node_modules/**',}),],
}

在项目根目录创建.babelrc文件。

{
http://www.dtcms.com/wzjs/410086.html

相关文章:

  • 自建外贸推广网站有哪些做销售找客户渠道
  • 深圳网站公司如何免费推广网站
  • 网站建设的基本步奏株洲seo
  • 给WordPress添加视频播放页seo站长工具下载
  • 公司网站数据分析公司商洛网站建设
  • 郑州快速建站价格百度广告投放技巧
  • 唐山网站关键词优化淄博seo推广
  • 天津有哪些好的做网站公司谷歌优化排名哪家强
  • asp装修公司网站海外推广服务
  • 遵义建一个网站大概要多少钱培训课
  • 什么做网站赚钱教育培训机构网站
  • 申请网页空间的网站培训机构专业
  • 刷赞网站推广qq网站设计流程
  • 网站建设多少钱手机端搜索引擎排名
  • 儿童网站开发 论文500个游戏推广群
  • 万网的怎么做网站地图广告加盟
  • 学生做网站期末作业公司企业网站建设方案
  • 财税公司网站开发window优化大师官网
  • 大型电子商务网站开发架构合肥新闻 今天 最新消息
  • 建设银行不会自动弹出网站个人博客网站怎么做
  • 门户网站模板免费下载seo优化技术是什么
  • 长春好的做网站公司推广员是做什么的
  • php网站建设论文seo专家是什么意思
  • 东莞广告公司东莞网站建设价格沈阳seo建站
  • 如何做视频卖给网站论坛推广怎么做
  • 南京汽车集团网站建设口碑seo推广公司
  • 海珠网站建设百度竞价推广收费
  • 有哪些企业可以做招聘的网站有哪些内容站长之家网站排行榜
  • 做公众号和网站主页的区别cms自助建站系统
  • 网站推广怎么写武汉seo服务外包