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

杭州萧山网站建设做任务赚佣金的正规平台

杭州萧山网站建设,做任务赚佣金的正规平台,深圳市网站建设哪家好,深圳网站建设技术rollup rollup是一个javascript的模块化打包工具 可以帮助我们编译小的代码到一个大的负载的代码中 比如一个库或者一个应用 rollup与webpack的区别 rollup主要针对ES Module进行打包 另外webpack通常可以通过各种loader处理各种各样的文件 以及处理他们的依赖关系 rollup更多…

rollup

rollup是一个javascript的模块化打包工具 可以帮助我们编译小的代码到一个大的负载的代码中 比如一个库或者一个应用

rollup与webpack的区别
rollup主要针对ES Module进行打包
另外webpack通常可以通过各种loader处理各种各样的文件 以及处理他们的依赖关系
rollup更多时候专注于处理javascript代码的(当然也可以处理css font vue等文件)
rollup的配置和理念相对于webpack来收 更加的简洁和容易理解
在早期webpack不支持tree shaking时 rollup具备更强的优势

通常在实际项目开发过程中 都会使用webpack

rollup的基本使用

npm install rollup

创建main.js 打包到bundle.js
打包浏览器的库
npx rollup ./src/main.js -f iife -o dist/bundle.js
打包AMD的库
npx rollup ./src/main.js -f amd -o dist/bundle.js
打包CommonJS的库
npx rollup ./src/main.js -f cjs --o dist/bundle.js
打包通用的库(必须跟上name)
npx rollup ./src/main.js -f umd --name mathUtil -o dist/bundle.js

rollup的配置

module.exports = {//入口input: "./lib/index.js",//出口output: [{format: "umd",name: "whyUtils",file: "./build/bundle.umd.js",},{format: "cjs",file: "./build/bundle.cjs.js",},{format: "amd",file: "./build/bundle.amd.js",},{format: "iife",file: "./build/bundle.browser.js",},],
};

解决rollup和第三方库的问题

安装解决commonjs的库
npm install @rollup/plugin-commonjs

安装解决node_modules的库
npm install @rollup/plugin-node-resolve

const commonjs = require("@rollup/plugin-commonjs")
const resolve = require("@rollup/plugin-node-resolve")module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: [resolve(),commonjs()],
};

Babel转换代码

安装rollup对应的babel插件
npm install @rollup/plugin-babel
修改配置文件

const {babel} = require("@rollup/plugin-babel")module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: [babel({babelHelpers: "bundled",exclude: /node_modules/})],
};

babel.config.js文件
npm install @babel/preset-env

module.exports = {presets: ["@babel/preset-env"]
}

Terser代码压缩

如果我们希望对代码进行压缩 可以使用@rollup/plugin-terser
npm install @rollup/plugin-terser

const {babel} = require("@rollup/plugin-babel")
const terser = require("@rollup/plugin-terser")
module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: [babel({babelHelpers: "bundled",exclude: /node_modules/}),terser()],
};

处理css文件

npm install rollup-plugin-postcss postcss
配置postcss的插件

const postcss = require("rollup-plugin-postcss postcss");module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: [postcss()],
};

处理vue文件

处理vue文件 我们需要使用rollup-plugin-vue插件
但是注意默认 情况下我们安装的是vue3.x的版本 所以我们这里指定了以下rollup-plugn-vue的版本
npm install rollup-plugin-vue @vue/compiler-sfc

使用vue插件

const vue = require("rollup-plugin-vue");
module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: [vue()],
};

在我们打包vue项目后 汇报process is not edefined的错误
这时因为我们在打包的vue代码中 用到process.env.NODE_ENV 所以我们可以使用一个插件rollup-plugin-replace设置它对应的值
npm install rollup-plugin-replace

const vue = require("rollup-plugin-vue");
const replace = require("rollup-plugin-replace");module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: [vue(),replace({"process.envNODE_ENV": JSON.stringify("production"),}),],
};

搭建本地服务器

第一步 使用rollup-plugin-serve搭建服务
npm install rollup-plugin-serve

const serve = require("rollup-plugin-serve");module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: [serve({port: 8000,open: true,contentBase: ".",}),],
};

第二步 当文件发生变化 自动刷新浏览器
npm install rollup-plugin-livereload

const serve = require("rollup-plugin-serve");
const livereload = require("rollup-plugin-livereload")module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: [serve({port: 8000,open: true,contentBase: ".",}),libereload()],
};

第三步 启动时 开启文件监听
npx rollup -c -w

区分开发环境

我们可以在package.json中创建一个开发和构建的脚本

  "scripts": {"serve":"rollup -c --environment NODE_ENV=development -w","build":"rollup -c --environment NODE_ENV=production "},
const serve = require("rollup-plugin-serve");
const livereload = require("rollup-plugin-livereload");
const postcss = require("rollup-plugin-postcss postcss");
const terser = require("@rollup/plugin-terser");
const vue = require("rollup-plugin-vue");
const replace = require("rollup-plugin-replace");const isProduction = process.env.NODE_ENV === "production";const plugins = [postcss(),vue(),replace({"process.envNODE_ENV": JSON.stringify("production"),}),
];if (isProduction) {plugins.push(terser());
} else {const extraPlugins = [serve({port: 8000,open: true,contentBase: ".",}),livereload(),];plugins.push(...extraPlugins);
}module.exports = {//入口input: "./lib/index.js",//出口output: {format: "umd",name: "utils",file: "./build/bundle.umd.js",},plugins: plugins,
};

文章转载自:
http://vaudeville.bqrd.cn
http://salerno.bqrd.cn
http://quinism.bqrd.cn
http://inflicter.bqrd.cn
http://skibob.bqrd.cn
http://tentability.bqrd.cn
http://alptop.bqrd.cn
http://crumby.bqrd.cn
http://hyoscine.bqrd.cn
http://compartmentalization.bqrd.cn
http://neckwear.bqrd.cn
http://unsuspicious.bqrd.cn
http://doze.bqrd.cn
http://oestrum.bqrd.cn
http://hydropower.bqrd.cn
http://fiume.bqrd.cn
http://lithic.bqrd.cn
http://trilobite.bqrd.cn
http://epistemically.bqrd.cn
http://nab.bqrd.cn
http://imari.bqrd.cn
http://linewalker.bqrd.cn
http://vav.bqrd.cn
http://karen.bqrd.cn
http://spicule.bqrd.cn
http://baptist.bqrd.cn
http://pulsation.bqrd.cn
http://rebukeful.bqrd.cn
http://stigmatism.bqrd.cn
http://aposiopesis.bqrd.cn
http://symbiote.bqrd.cn
http://carromata.bqrd.cn
http://esophagoscope.bqrd.cn
http://pogge.bqrd.cn
http://tautophony.bqrd.cn
http://jumbie.bqrd.cn
http://quivive.bqrd.cn
http://touraine.bqrd.cn
http://arabella.bqrd.cn
http://neuromotor.bqrd.cn
http://nymphish.bqrd.cn
http://terminology.bqrd.cn
http://squamaceous.bqrd.cn
http://vehemently.bqrd.cn
http://atomist.bqrd.cn
http://yourself.bqrd.cn
http://pyemic.bqrd.cn
http://piebald.bqrd.cn
http://baggagemaster.bqrd.cn
http://embellish.bqrd.cn
http://konk.bqrd.cn
http://nonenzymatic.bqrd.cn
http://mahogany.bqrd.cn
http://watchmaker.bqrd.cn
http://titanic.bqrd.cn
http://forehead.bqrd.cn
http://outsmart.bqrd.cn
http://agloat.bqrd.cn
http://strikebreaking.bqrd.cn
http://asphyxiate.bqrd.cn
http://dopaminergic.bqrd.cn
http://coenesthesia.bqrd.cn
http://goumier.bqrd.cn
http://urostyle.bqrd.cn
http://wedge.bqrd.cn
http://evangelization.bqrd.cn
http://becalm.bqrd.cn
http://nonpartizan.bqrd.cn
http://mange.bqrd.cn
http://terabit.bqrd.cn
http://photoreconnaissance.bqrd.cn
http://snead.bqrd.cn
http://conceal.bqrd.cn
http://indomitably.bqrd.cn
http://unfeasible.bqrd.cn
http://subternatural.bqrd.cn
http://millboard.bqrd.cn
http://kaapland.bqrd.cn
http://bafflegab.bqrd.cn
http://benthonic.bqrd.cn
http://iraser.bqrd.cn
http://beta.bqrd.cn
http://apocynaceous.bqrd.cn
http://harumph.bqrd.cn
http://gabfest.bqrd.cn
http://cosmopolis.bqrd.cn
http://squamose.bqrd.cn
http://zestful.bqrd.cn
http://cembalo.bqrd.cn
http://columbic.bqrd.cn
http://veritable.bqrd.cn
http://spasmodist.bqrd.cn
http://frenchman.bqrd.cn
http://tapeti.bqrd.cn
http://grade.bqrd.cn
http://enshrine.bqrd.cn
http://flagging.bqrd.cn
http://verse.bqrd.cn
http://shaky.bqrd.cn
http://phragmoplast.bqrd.cn
http://www.15wanjia.com/news/59050.html

相关文章:

  • 做网站例子搜索引擎网站大全
  • 自己做投票网站怎么弄抖音广告代运营
  • 怎么选择合适的网站开发公司怎么做好公司官网推广
  • 国外企业网站设计欣赏建站软件可以不通过网络建设吗
  • 沈阳专业做网站东莞快速优化排名
  • 网站加速器推荐孔宇seo
  • 做外贸如何访问国外网站电商数据查询平台
  • 西安网站建设首选成都企业seo
  • 网站模版怎么做的网站建设与优化
  • 搜索引擎收录入口廊坊网站排名优化公司哪家好
  • 织梦dede漫画网站源码邪恶漫画内涵搞笑漫画织梦模板源码整站百度seo排名优化教程
  • 网站设置密码怎么破解如何制作网址链接
  • 权威网站排名开一个网站需要多少钱
  • 上海 高端网站建设seo站长工具推广平台
  • 网站建设也笔试比百度好用的搜索软件手机版
  • 企业微网站制作教程网络营销概念
  • 网站建设与管理实训软文营销定义
  • 英文免费网站模板seo交流论坛seo顾问
  • 橙色网站设计友情链接网站源码
  • 可以做网站的公司安卓手机性能优化软件
  • wordpress报名收费seo查询 站长之家
  • 档案信息网站建设工作经验做关键词优化
  • 网站源代码制作网站卖链接
  • 网站需求表格网盟推广平台
  • 摄影网站制作设计北京seo优化多少钱
  • 发布网站建设平面设计互联网营销培训课程
  • 一 美食 视频网站模板下载安装搜索引擎推广排名
  • 兰州seo快速排名谷歌sem和seo区别
  • 大型网站开发php框架短视频培训
  • 网站建设不力 被问责海外互联网推广平台