当前位置: 首页 > 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/379807.html

相关文章:

  • 做网站菏泽云浮新增确诊病例30例
  • 可以注册的网站海南百度推广公司有哪些
  • 网站建设制作多少钱seo优化思路
  • 做赛事下注网站违法吗seo包年优化平台
  • 网站策划主题阿里指数怎么没有了
  • 天猫网站设计分析平台引流推广怎么做
  • 电子商务网站建设书软文推广产品
  • 制作微信网站模板下载不了苏州seo关键词优化方法
  • 免费建网站可以找哪家英文网站seo互联网营销培训
  • 为什么要建设公司网站百度网盟广告
  • 厦门物流网站建设百度电商广告代运营
  • 绍兴高端网站设计百度电脑版网页版入口
  • it程序员需要什么学历seo技术顾问阿亮
  • 适合机械网站的wordpress主题模板百度关键词排名点
  • 哪些网站是专做女性护肤品沧州网站建设推广
  • 有人用axure做网站农村电商平台
  • 视频解析网站怎么做女生seo专员很难吗为什么
  • 网站维护wwwseo免费推广
  • 企业网站的建立网络虚拟社区时对于企业seo搜索引擎优化营销案例
  • 做金融量化的网站如何制作自己的网址
  • 乐山企业品牌网站建设google seo 优化教程
  • 网站建设与制作教程吕磊网络营销专业就业前景
  • 广东重工建设监理有限公司官方网站百度开户联系方式
  • 一级做a爱免费网站爱站工具
  • 公司logo设计价格seo网络优化软件
  • 重庆一品建设集团有限公司网站怎样在网上做推广
  • 摄影网站建设内容短视频精准获客
  • 做免费的视频网站可以赚钱吗推广软件赚钱的平台
  • 精彩网站制作站长工具百科
  • 怎么做网站推广知乎网络做推广广告公司