找问题&解决步骤
问题描述
我想使用rollup打包自己写的一个工具类库,于是手动搭建了一个rollup工程(工程源码详见评论地址分享)
全局安装rollup:npm install rollup -g
进入工程安装各项依赖,编辑配置文件,执行rollup -c -w
可正常监听 src 目录,实时构建
将上述命令写入package.json文件中的scripts字段里,执行:npm run dev
报错,字面意思是读取package.json失败
同样的rollup -c
打包正常,npm run build
读取package.json失败
问题就这样莫名其妙的产生了
分析产生原因
- 仔细检查package.json是否有写的不正确的地方 => 并没有
- 检查其他模块运行是否正常:执行
npm run lint
,可正常使用eslint检测代码规范 => 结论:package.json肯定没问题 - 跟打包相关的就只有另外一个项目配置文件了,但是
rollup -c
命令又是正常,说明我们的配置文件正确 => 此时的我已经处于崩溃边缘,休息一个周末再说! - 最后可能存在的问题就是依赖包版本不正确,全局的rollup命令正常的,那么查看一下全局版本:
rollup -v
=> 0.66.6,在检查下本地的版本(package.json中的devDependencies有记录)为0.38.0 - => 难道是因为这点儿版本号的差距导致的吗?不能忍,将package.json中的rollup版本号改为0.66.6,并去掉前面的^符号,删除node_modules目录,重新安装依赖
- 执行
npm run build
=> 正确的打包了我们的项目!!!,至此问题原因和解决方法都有了
小小总结下吧
- 遇到此类问题要仔细的分析产生的原因,知道原因了自然就有解决办法了
- 分析原因的方法:由小到大,先自己在他人,先局部在整个项目分析。
- 简单理解:先看看执行的命令语句是否有问题,第二步再看调用该语句的文件是否有问题(这里的package.json),最后再看整个项目的配置是否不正确(包括项目配置文件、项目依赖、包文件目录路径等)
愿佛祖保佑大家无难解决的问题&Bug
_ooOoo_",
o8888888o",
88\" . \"88",
(| -_- |)",
O\\ = /O",
____/`---'\\____",
.' \\\\| |// `.",
/ \\\\||| : |||// \\",
/ _||||| -:- |||||- \\",
| | \\\\\\ - /// | |",
| \\_| ''\\---/'' | |",
\\ .-\\__ `-` ___/-. /",
___`. .' /--.--\\ `. . __",
.\"\" '< `.___\\_<|>_/___.' >'\"\".",
| | : `- \\`.;`\\ _ /`;.`/ - ` : | |",
\\ \\ `-. \\_ __\\ /__ _/ .-` / /",
======`-.____`-.___\\_____/___.-`____.-'======",
`=---='",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
佛祖保佑 永无BUG"