目录结构:

rollup.config.js代码

export default [{input: './src/js/video.js',output: {file: './dist/index.js',format: 'umd'}
}];

video.js代码

需要npm install --save chimee安装依赖后再使用,详见chimee文档


import Chimee from 'chimee';
const chimee = new Chimee({wrapper: '#wrapper',src: 'http://cdn.toxicjohann.com/lostStar.mp4',controls: true,autoplay: true,
});

问题一:执行rollup -c 打包 出现警告

解决: npm install -D rollup-plugin-node-resolve 和 rollup-plugin-commonjs 依赖

import resolve from 'rollup-plugin-node-resolve'
import commonjs from 'rollup-plugin-commonjs'
export default [{input: './src/js/video.js',output: {file: './dist/index.js',format: 'umd'},plugins: [resolve(),commonjs()]
}];

再继续打包

可见打包正常

问题二: 此时查看浏览器,浏览器报错

解决:使用rollup-plugin-replace依赖

import resolve from 'rollup-plugin-node-resolve'
import commonjs from 'rollup-plugin-commonjs'
import replace from 'rollup-plugin-replace'
const env = process.env.NODE_ENV;
export default [{input: './src/js/video.js',output: {file: './dist/index.js',format: 'umd'},plugins: [resolve(),commonjs(),replace({'process.env.NODE_ENV': JSON.stringify(env)}),]
}];

此时,打包和浏览器就都正常了。

问题三: 在package.json中配置rollup打包命令

解决: 我们知道在终端进行打包的命令是 rollup -c,所以可以把这个命令加到package.json的scripts中

"scripts": {"build": "rollup --c"},

此时,在终端就可以 npm run build 进行rollup的打包


可以看到,打包成功

问题四:scripts中使用nodeJS的env,判断全局环境(生产,开发)

解决: npm install -D cross-env,并且在package.json中使用

"scripts": {"build": "cross-env NODE_ENV=produciton rollup --c"},

再来执行npm run build, 这样就能区分线上或者线下代码啦。
此时完整的rollup.config.js代码是这样的:

import resolve from 'rollup-plugin-node-resolve'
import commonjs from 'rollup-plugin-commonjs'
import replace from 'rollup-plugin-replace'const env = process.env.NODE_ENV;
console.log(env)
export default [{input: './src/js/video.js',output: {file: './dist/index.js',format: 'umd'},plugins: [resolve(),commonjs(),replace({'process.env.NODE_ENV': JSON.stringify(env)}),]
}];

可见终端有输出当前是production环境(因为我们执行的是npm run build, 在scripts中有定义 cross-env NODE_ENV=produciton,这个就是production环境)

最后视频显示出来了

完成!!

chimee 播放器 在rollup打包器中使用后的各种报错汇总相关推荐

  1. ibatis mysql 同时删多个表报错_MySQL中Multiple primary key defined报错的解决办法

    MySQL中Multiple primary key defined报错的解决办法 创建主键可以有两种方式: create table 表名( 字段名 类型, 字段名 类型, -- primary k ...

  2. python打包工具报错_Pyinstaller打包.py生成.exe的方法和报错总结

    Pyinstaller 打包.py生成.exe的方法和报错总结 简介 有时候自己写了个python脚本觉得挺好用想要分享给小伙伴,但是每次都要帮他们的电脑装个python环境.虽然说装一下也快,但是相 ...

  3. vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理)

    vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) 参考文章: (1)vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) (2)https://www. ...

  4. 【错误记录】PyCharm 中从 GitHub 中 Clone 代码到本地报错 ( OpenSSL SSL_read: Connection was reset, errno 10054 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 PyCharm 中从 GitHub 中 Clone 代码到本地报错 : 10:01:37.091: [C:\Users\octop\Pychar ...

  5. android项目模块导入eclipse编译报错,android中studio导入eclipse项目报错怎么办

    android中studio导入eclipse项目报错怎么办 发布时间:2020-07-15 17:34:45 来源:亿速云 阅读:96 作者:清晨 这篇文章将为大家详细讲解有关android中stu ...

  6. php总是报错,php - 简单工厂模式中的问题,总是报错

    php - 简单工厂模式中的问题,总是报错 PHPzhong2017-04-11 09:53:49 0 3 101 //接口 interface calc{ public function g ...

  7. LaTeX中添加\usepackage{subfigure}一直报错的解决办法,亲测

    LaTeX中添加\usepackage{subfigure}一直报错的原因就是: tocloft包与subfigure包冲突 只需要将原来的 \usepackage{tocloft}修改为 \usep ...

  8. Altium Designer中PCB关于Import Changes报错最终解决方案

    Altium Designer中PCB关于Import Changes报错最终解决方案 参考文章: (1)Altium Designer中PCB关于Import Changes报错最终解决方案 (2) ...

  9. Mysql存储过程老是报错_mysql中看看这个存储过程老是报错,该如何处理

    mysql中看看这个存储过程老是报错 我的mysql版本是5.5.21的,下面这个存储过程是需要更加另外3张表的数据来更新strategycontracttemp中数据,但是每次更新到中途报错,先代码 ...

最新文章

  1. 排序只显示前5_Linux 文件大小统计与排序 du,df 和 sort!
  2. 伍迷创意随想集 之 烧菜小帮手
  3. Cent0S 7上的图形安装
  4. N!的尾部连续0的个数
  5. ajax静态页面实例,AJAX实例:Ajax实现静态页面分页
  6. 常见的HTML5面试题(附答案)
  7. stylus 在静态页面上的使用经验
  8. 单调队列(一套模板通吃)
  9. 牛客-Forsaken喜欢独一无二的树【并查集,最小生成树】
  10. cloud foundry_Cloud Foundry Java客户端–流事件
  11. 经典蓝牙和低功耗蓝牙(BLE)有什么区别?
  12. 【转载】水木算法讨论题
  13. SLAM--非线性优化
  14. 音视频播放器—快进快退及逐帧播放
  15. 非对称加密算法 (RSA、DSA、ECC、DH)
  16. SwitchHosts For Mac快速切换修改hosts文件工具
  17. IDEA 快捷键拆解系列(五):Navigate 篇
  18. 一张纸微缩打印多个PowerPoint内容
  19. 实用网站集锦(2021-11-20)
  20. U盘删除附带的CD驱动器内的数据

热门文章

  1. 正则表达式匹配linux时间,linux grep与正则表达式使用介绍
  2. ios 7 完美越狱总结
  3. python写透视挂_opencv+python 透视变换
  4. 【解决办法】eclipse中的jsp文件修改,浏览器没有自动同步更新,而是需要重启tomcat才能更新
  5. vue在线考试实现倒计时
  6. 新年3D烟花秀,新年快乐代码,春节快乐代码,跨年立体烟花秀
  7. 这些 Linux 问题,我猜你一定不知道!
  8. 计算几何(一):点,向量
  9. Android 模仿酷狗播放器(精品源码)
  10. Java冻结功能_java – 我的应用程序冻结,如何在其中实现线程?