You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue2单元测试遇webpack报错:Module not found: 'vue-server-renderer'

解决方案(Vue2环境)

方案1:补全依赖并调整配置

  • 先安装对应版本的vue-server-renderer,@vue/server-test-utils(Vue2版本)把它作为peer依赖,不会自动安装:
    npm i --save-dev vue-server-renderer@2.x
    
  • 调整webpack配置,确保测试环境正确识别服务端渲染相关模块。如果用vue-cli,在vue.config.js里针对测试环境修改:
    module.exports = {
      chainWebpack: config => {
        if (process.env.NODE_ENV === 'test') {
          config.resolve.set('alias', {
            'vue$': 'vue/dist/vue.common.js'
          })
          // 把webpack target设为node,适配server-test-utils的运行环境
          config.target('node')
        }
      }
    }
    

方案2:改用客户端测试工具(更适合普通单元测试)

如果你的单元测试不需要针对服务端渲染场景,直接用Vue2对应的客户端测试工具更省心,能避开服务端渲染相关依赖问题:

  • 卸载@vue/server-test-utils:
    npm uninstall @vue/server-test-utils
    
  • 安装Vue2版本的@vue/test-utils:
    npm i --save-dev @vue/test-utils@1.x
    
  • 修改测试文件的导入语句:
    // 替换原来的server-test-utils导入
    import { mount, shallowMount } from '@vue/test-utils'
    

内容的提问来源于stack exchange,提问作者manymanymore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 01:09:10