今天用hb编译小程序时提示:
14:19:07.403 Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
14:19:07.403 ModuleBuildError: Module build failed (from ./node_modules/postcss-loader/src/index.js):
14:19:07.413 Error: Unexpected '/'. Escaping special characters with \ may help.
14:19:07.427 at Root._error (D:\DevTools\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\vue-cli-plugin-uni\node_modules\postcss-selector-parser\dist\parser.js:182:24)
网上有说npm版本的,有说清缓存的,经过一番排查都不是。
唯一可用的提示是:Unexpected ‘/’。经过好长一段时间的排错,最终排查出是Vue文件里css出错了。
出错原因:
错误代码示例如下
<style scoped>
// 商品1,这是不规范的css注释写法。
page{font-size:24rpx;}
</style>
样式表里使用了//作注释,这种写法在sass里可以通过,在css样式里写虽然不报错,正常情况下也能编译通过,但是通过代码格式化时,上述代码变成了如下:
<style scoped>
/
/
商品1,这是导致编译错误的原因
page{font-size:24rpx;}
</style>
这也是导致错误的原因。
解决方案:
1、省事省时的排查方法:直接恢复历史。
2、检查css样式表里的/,在海量文件中排查也是一个不小的工作量。(笔者为了找到这个问题原因所在,花了很久的时间。)