admin管理员组

文章数量:1565292

最近laravel5.5项目时,发现 npm run watch 后报如下错误

Module parse failed: Unexpected token (2:0) You may need an appropriate loader to handle this file

字面意思;loader 加载器出了问题,导致模块加载失败。进而关注webpack相应的loader报错信息,发现一切都是套路来的。

如果说不一样的地方,那只能是loader的版本的不同了。

于是查看了一下mix版本所需要的vue-loader版本号

"laravel-mix": {
"version": "2.1.11",
            ...
            "requires": {
               ...                
                "vue-loader": "^13.7.1",

 

 想起 自己是直接 npm install vue-loader,l默认应该是最新版本的。

进入packeg.json查看,果不其然,安装了最新版本vue-loader  15.2.0(最新的vue-loader 15+以上,要求使用vueloaderplugin,需要变更webpack配置文件)  赶紧改了重新run后 ok!

补充出错原因

  1. vue-loader@15.*之后 必须配置带有VueLoaderPlugin 之外,还需另外单独配置css-loader。
  2. 如果是用最新webpack原生构建,除了安装webpack外,还要安装webpck-cli,在webpack.config中配置mode选项
  3. 为保持构建环境一致,请采用`npm run dev`脚本编译的形式,以确保使用的webpack命令,vue-loader是本地版本。

 

 

     

 

 

本文标签: failedunexpectedModuleparsehandle