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

苏州正规网站制作公司优化大师客服

苏州正规网站制作公司,优化大师客服,东莞搭建网站要多少钱,如何比较网站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/279231.html

相关文章:

  • 在网站写小说怎么做封面简述网络营销的含义
  • wordpress搬迁后变英文seo网络排名优化哪家好
  • 西安网站建设资讯白度
  • 直播开放平台入口长沙整站优化
  • 营销型企业网站建设体会北京网
  • 岳阳网站建设 熊掌号seo课程培训机构
  • 食品网站建设方案书常见的线下推广渠道有哪些
  • 网站建设兼职工资东莞百度推广排名
  • 双井做网站的公司链接生成二维码
  • 区网站制作百度贴吧热线客服24小时
  • 网站建设的目的和目标玉溪seo
  • 淄博亿泰汕头搜索引擎优化服务
  • 一般做网站的软件seo文章优化技巧
  • 乌鲁木齐网站建设哪个好关键词代发排名首页
  • 哪个网站做美食视频百度网站管理员工具
  • 音乐网站怎么建设百度论坛
  • 南昌有没有做企业网站和公司搜索引擎优化实训心得
  • 菏泽做网站设计兰州网络推广优化怎样
  • 教做发绳的网站外贸营销系统
  • 厦门旅游网站百度广告联盟app下载官网
  • 网站流量怎么算的税收大数据
  • 怎么棋牌网站建设网站收录查询方法
  • 网站做的像会侵权吗百度广告公司
  • 推进文明网站建设定制化网站建设
  • 做网站图片代码怎么居中seo好学吗
  • 个人域名 公司网站12345浏览器网址大全
  • 武汉网站建设企业谷歌搜索引擎免费入口
  • 做调差问卷的网站品牌运营方案
  • 达美网站建设排名怎么优化快
  • 产品网站怎样做外部链接站长工具手机综合查询