记录一下关于webpack打包遇到的bug
这贴记录一下关于 webpack 打包遇到的 bug,及解决方案
因为之前着手做个几个小项目,需要到的 node 版本不一,所以安装了 nvm 以用来切换,但在这 webpack 打包时遇到很多小问题,着实耗费了大量时间,想给大家避避坑。
贴一下之前的错误报告:
Error: EINVAL: invalid argument, mkdir ‘C:\remaining\C:\nvm\nodejs\node_global’
这问题是.npmrc 文件配置问题了,因为当时 webpack 采用的是局部安装,运行后报错,根据错误语句上网找了很多解决方案,绝大部分帖子都是建议重装上 node 官网重装,然后在配置.npmrc
文件配置一下信息,就跟着博客照做,发现情景根本不适合此我这机子,最后不仅弄乱了前先配置好的环境变量,还把 npm 命令弄的无法正常使用。
排错老半天,最后把官网安装的 node 和之前配置的都删了,还原.npmrc 文件配置成默认信息就好,该 bug 解决。(差点想把 nvm 也卸了,全都清洗重装)
1 | prefix=C:\nvm\nodejs\node_global |
webpack : 无法将“webpack”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
这里我选择全局下载 3.X 版本的 webpack,最后根据我自身机子的情况设置了环境变量,告诉系统该插件位置在哪就好。
具体为:在系统变量的 path 中添加全局位置,在新建一个 NODE_PATH 变量用来存放该位置下的 node_modules 值,最后再在自身变量的 path 中添加全局位置。
npm WARN webpack-cli@3.3.12 requires a peer of webpack@4.x.x but none is installed. You must install peer dependencies yourself.
这问就是版本问题了,在这项目我是指定了 3.5.5 的版本安装,前面还有个小插曲,之前我的 webpack-cli 默认转最新版的导致 webpack 也安装出错,在这也给他降低版本就行。
Insufficient number of arguments or no entry found.
Alternatively, run ‘webpack(-cli) –help’ for usage info.
这里把之前的 webpack.config.js 文件内容
1 | module.exports = { |
改为:
1 | const path = require('path') |
另外,在打包 css、less、图片,安装的插件时容易出现版本不兼容的错误,建议使用一下版本号:在打包 vue 项目文件时,也容易产生 bug , 主要是路径和版本号问题 ,排错时优先考虑。