五一节后来的第一天业务又要让导一份数据··· 可是后端的小哥哥还在家里哈皮啊,我能怎么办···不行?···是不可能的···这是我最后的倔强,毕竟男人不能说自己不行···
数据来源其实就可以从后台系统看到,所以只要导出el-table的数据就好了呀···so,一顿输出写了个基于xlsx和file-saver的 eltable-as-xlsx,然而这不是重点···
一切都很完美,明早的太阳依旧会高高挂起···
然而上线后发发现打包出错了···
这是因为在安装依赖的时候用到了file-saver但是并没有安装···
还记得我说过我的 eltable-as-xlsx 是基于xlsx和file-saver 吗?对的,我站在巨人的肩膀上摘了桃子还拉了一泡粑粑···
默默的打开eltable-as-xlsx 发现当时在安装 xlsx和file-saver的时候使用的命令还在··· npm i xlsx file-saver -D ,对 ,你没看错是 -D;
当把npm i xlsx file-saver ** -D **换成npm i xlsx file-saver -S 重新安装并发版问题解决 ,并且node-modules中已经存在xlsx 和 file-saver 两个包;
至此,问题解决;
npm i XXX -D 和 -S 有什么区别
-D和-S是npm安装包时用的两个参数,它们分别代表--save-dev和--save。
-D或--save-dev会将安装的包保存在devDependencies中,这表示这些包仅在开发环境中需要,例如测试框架、构建工具和代码检查器等。这些包不会出现在生产环境中,因为它们不需要在生产环境中运行。
示例:npm install jest -D 将jest包安装到devDependencies中。
-S或--save会将安装的包保存在dependencies中,这表示这些包在生产环境中需要,例如应用程序本身需要的库或框架。
示例:npm install lodash -S 将lodash包安装到dependencies中。
需要注意的是,从npm 5开始,使用-S和-D已经不再必要,因为默认情况下安装的包会自动保存到dependencies或devDependencies中,具体取决于包是否有peerDependencies声明。
总之,使用-D安装的包表示这些包仅在开发环境中需要,而使用-S安装的包则表示这些包在生产环境中需要。