问题:[npm主要报错]A valid query string passed to parseQuery should begin with '?'
背景:一开始是不停下载回之前npm install
掉的依赖包,然后出现按了loaderUtils.getOptions is not a function
的报错
过程:
之后尝试cnpm install vue-loader vue-template-compiler loader-utils
进行更新
接着就出现一长串报错,以下为全文。。
ERROR in Error: Child compilation failed:
Module build failed: Error: A valid query string passed to parseQuery should b egin with '?'
- parseQuery.js:13 Object.parseQuery
[cg.test]/[_loader-utils@1.1.0@loader-utils]/lib/parseQuery.js:13:9
- Error: A valid query string passed to parseQuery should begin with '?'
- compiler.js:76
[cg.test]/[html-webpack-plugin]/lib/compiler.js:76:16
- Compiler.js:296 Compiler.<anonymous>
[cg.test]/[webpack]/lib/Compiler.js:296:10
- Compiler.js:499
[cg.test]/[webpack]/lib/Compiler.js:499:13
- Tapable.js:202 next
[cg.test]/[tapable]/lib/Tapable.js:202:11
- CachePlugin.js:62 Compiler.<anonymous>
[cg.test]/[webpack]/lib/CachePlugin.js:62:5
- Tapable.js:206 Compiler.applyPluginsAsyncSeries
[cg.test]/[tapable]/lib/Tapable.js:206:13
- Compiler.js:496
[cg.test]/[webpack]/lib/Compiler.js:496:10
- Tapable.js:195 Compilation.applyPluginsAsyncSeries
[cg.test]/[tapable]/lib/Tapable.js:195:46
- Compilation.js:649 self.applyPluginsAsync.err
[cg.test]/[webpack]/lib/Compilation.js:649:19
- Tapable.js:195 Compilation.applyPluginsAsyncSeries
[cg.test]/[tapable]/lib/Tapable.js:195:46
- Compilation.js:640 self.applyPluginsAsync.err
[cg.test]/[webpack]/lib/Compilation.js:640:11
- Tapable.js:202 next
[cg.test]/[tapable]/lib/Tapable.js:202:11
- UglifyJsPlugin.js:230 Compilation.compilation.plugin
[cg.test]/[webpack]/lib/optimize/UglifyJsPlugin.js:230:5
- Tapable.js:206 Compilation.applyPluginsAsyncSeries
[cg.test]/[tapable]/lib/Tapable.js:206:13
- Compilation.js:635 self.applyPluginsAsync.err
[cg.test]/[webpack]/lib/Compilation.js:635:10
- Tapable.js:195 Compilation.applyPluginsAsyncSeries
[cg.test]/[tapable]/lib/Tapable.js:195:46
- Compilation.js:631 sealPart2
[cg.test]/[webpack]/lib/Compilation.js:631:9
- Tapable.js:195 Compilation.applyPluginsAsyncSeries
[cg.test]/[tapable]/lib/Tapable.js:195:46
- Compilation.js:579 Compilation.seal
[cg.test]/[webpack]/lib/Compilation.js:579:8
- Compiler.js:493
[cg.test]/[webpack]/lib/Compiler.js:493:16
- Tapable.js:289
[cg.test]/[tapable]/lib/Tapable.js:289:11
- Compilation.js:481 _addModuleChain
[cg.test]/[webpack]/lib/Compilation.js:481:11
ERROR in ./src/main.js
Module build failed: Error: A valid query string passed to parseQuery should begin with '?'
at Object.parseQuery (D:\***\node_modules\_loader-utils@1.1.0@loader-utils\lib\parseQuery.js:13:9)
at Object.module.exports (D:***\node_modules\_babel-loader@6.4.1@babel-loader\lib\index.js:104:35)
Build complete.
Tip: built files are meant to be served over an HTTP server.
Opening index.html over file:// won't work.
之后我在查找答案的过程中,看到webpack项目下面的loader-utils有提及过这个问题,可是还是不知道解决的方法,(是webpack1和webpack2之间的配置冲突吗?可是我的webpack是2.x的,之后更新了loader-utils也无果_(:з」∠)_)
有大神知道解决方案或遇到类似的情况吗
参考了
html-webpack-plugin
的两个issue,调整一些组件的版本兼容。而最后是终于消除了这个error又出现新的其他问题,然后又一轮找资料。
最后,我觉得不能清晰地弄清除各版本的兼容问题还是重新安装一遍依赖,
即删除了node_module文件夹和package-lock.json(不然会按里面配置进行更新下载),重新在这个项目
npm install
(cnpm i
速度虽然快但是我经常会出错漏包或者版本兼容等奇奇怪怪的问题,可是npm i
可能也会因为网速不好而下载失败),然后就终于全部解决啦~~如果不想重新下载可以参考下面两个链接
[1]https://github.com/jantimon/h...
[2]https://github.com/jantimon/h...