在vue项目接近尾声的时候,一般打包上传代码之前都需要将所有的警告消除掉,不然是上传不上去的。
这些警告绝大多数是因为设置了eslintrc.js来用于校验文件书写规范报的错,这一类的错误可以直接运行cnpm run lint -- --fix 指令来进行自动的代码修正,修正完之后,如果还有一些警告消除不掉,这样的就需要手动的根据警告提示的信息找到相应的文件进行修改了。
这次我的项目中最后遗留了一个警告,是关于引入jQuery的$符号的,一开始的报错是:
$ is not defined,即$没有定义,代码中原来在main.js的引入写法是:
原来的写法
奇怪的是这样写,虽然都报了警告说是$没有定义,但是实际上并没有影响我在代码中使用,$还是可以发挥功效的。这也是之前一直没管的原因。现在这样报错,猜想应该是后面的路径不太对,于是将其改成了我在node-modules中安装jQuery的路径,具体如下:
改了之后的写法
这样改了之后,虽然之前的错不报了,但是新的错报出来了,变成了,$ is defined but never used,这又是啥意思?百思不得解,于是一番寻寻觅觅,终于找到了这篇博客
webpack构建Vue项目引入jQ时发生“'$' is defined but never used”的处理 - 慕柳先生 - 博客园
按照这篇博客里的处理方法,我将build/webpack.base.conf.js里第51行屏蔽,具体如下:
屏蔽第51行代码
这样屏蔽之后,重新使用cnpm run dev 运行代码,之前的警告果然消失了。
但是为什么屏蔽这一句之后就可以了,目前还不是很明白,后续有空继续了解下。