微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

npm run watch无法读取“地图”属性的错误未定义

如何解决npm run watch无法读取“地图”属性的错误未定义

问题: 运行命令npm run watch会引发错误显示错误

54% building 35/41 modules 6 active /app/docroot/themes/custom/mytheme/node_modules/css-loader/index.js??ref--10-2!/app/docroot/themes/custom/mytheme/node_modules/postcss-loader/src/index.js??postcss5!/app/docroot/themes
 ERROR  Failed to compile with 1 errors          1:25:50 AM

 error 

Cannot read property 'map' of undefined

 15 assets

ERROR in Cannot read property 'map' of undefined
[browsersync] Proxying: https://ps.lndo.site

仅当我的webpack.mix.js文件中包含以下代码时,才会发生错误

mix.imagemin({
  patterns: [{
    from: '**/*.{png,gif,jpg,jpeg,svg}',to: 'images/',context: 'src/images/'
  },{
    from: '**/*.{png,context: 'src/components/'
  }]
  });

删除上面的代码片段会删除错误,但是该项目的先前开发人员有此原因。

由于安全漏洞,我最近进行了更新,并设法调试了一个不同的问题,即copy Plugin引入了一项重大更改(已在上面的代码中更新)。但是,我不确定所有配置是否正确。

我尝试过: 从命令行

rm -rf node_modules
rm package.lock
npm cache clean --force
npm install

这些是package.json中截至2020年8月27日的软件包

"devDependencies": {
    "bootstrap": "^4.3.1","browser-sync": "^2.26.12","browser-sync-webpack-plugin": "^2.2.2","copy-webpack-plugin": "^6.0.3","cross-env": "^7.0.2","husky": "^4.2.5","imagemin-webpack-plugin": "^2.4.2","jquery": "^3.5.1","laravel-mix": "^5.0.4","laravel-mix-imagemin": "^1.0.3","popper.js": "^1.16.1","pretty-quick": "^2.0.1","resolve-url-loader": "^3.1.1","sass": "^1.26.10","sass-loader": "^8.0.2","vue-template-compiler": "^2.6.11"
  },"dependencies": {
    "throttle-debounce": "^2.3.0"
  }

更新的软件包如下

    "browser-sync": "^2.26.7","copy-webpack-plugin": "^5.1.1","husky": "^4.2.3","jquery": "^3.5.0","sass": "^1.26.3","throttle-debounce": "^2.1.0"

解决方法

在我看来,这看起来像是laravel-mix-imagemin插件中的错误。其NPM页面显示"The patterns parameter is automatically converted to an array"。但这与您正在使用的copy-webpack-plugin^6不兼容(laravel-mix-imagemin在后台使用),因为版本6不再接受数组。 (很遗憾,laravel-mix-imagemin插件未正确列出其依赖项及其版本...)

顺便说一句:我基本上遇到了同样的问题,并且您收到的错误消息是一场灾难。

,

您可能对webpack的版本有疑问。这是我能做出的最好的猜测。如果此代码之前有效,则可能是这样。

,

没有找到一个很好的答案,因为现在从Webpack mix中删除了imagemin配置。解决了编译问题,但不能解决我的原始问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。