Vue CLI配置了插件后启动报错:找不到模块怎么办?
刚在vue.config.js里加了svg-sprite-loader插件配置,但npm run serve时一直报错说Cannot find module 'svg-sprite-loader'。明明已经npm install了这个包啊
module.exports = {
chainWebpack: config => {
config.module
.rule('svg-sprite')
.test(/.svg$/)
.use('svg-sprite-loader') // 这里报错
.loader('svg-sprite-loader')
.options({ symbolId: 'icon-[name]' })
}
}
折腾了好久,试过删除node_modules重装,检查package.json确实有依赖项。但只要保留这个配置就启动不了项目,注释掉配置又能正常跑起来
先别急着删node_modules,试试这几个步骤:
1. 确认下你用的是npm还是yarn,别混用。比如之前用yarn装的依赖,后来用npm install就可能出问题。
2. 执行这个命令强制重新安装:
3. 如果还不行,检查下你的npm版本,太老的版本会有依赖解析问题,建议升级到最新:
npm install -g npm@latest4. 还有个坑是webpack版本兼容性问题,可以试试指定loader的版本:
我之前也是被这个坑过,明明装了依赖却找不到模块,后来发现是package-lock.json里记录的版本有问题。
svg-sprite-loader版本太高或者太低,和当前项目不兼容。直接指定一个稳定版本重装试试,比如:然后确认下
vue.config.js的配置没问题,像你写的那样就行。如果还是不行,把node_modules和package-lock.json都删了再跑npm install。