typescript - 错误:找不到模块'@vue/cli-plugin-babel/preset'
问题描述
Error: Cannot find module '@vue/cli-plugin-babel/preset'
使用 docker-compose 运行赛普拉斯测试时遇到此错误。
码头工人-compose.yml
frontend:
container_name: VueJS
build: client
volumes:
- ./client:/app #Uncomment to directly update code in the container
- /app/node_modules
# environment:
# - CHOKIDAR_USEPOLLING=true
networks:
default:
ports:
- "8080:8080"
cypress:
container_name: Cypress
image: cypress/included:7.5.0
# entrypoint: cypress open --project /e2e
environment:
# pass base url to test pointing at the web application
- CYPRESS_baseUrl=http://frontend:8080
# share the current folder as volume to avoid copying
working_dir: /e2e
volumes:
- ./client:/e2e
# - ./client/node_modules:/usr/local/lib/node_modules
networks:
default:
ports:
- "8081:8080"
depends_on:
- frontend
# - backend
- db
错误:
Error: Webpack Compilation Error
./cypress/specs/test.js
Module build failed (from /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/babel-loader/lib/index.js):
Error: Cannot find module '@vue/cli-plugin-babel/preset'
Require stack:
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/@babel/core/lib/config/files/plugins.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/@babel/core/lib/config/files/index.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/@babel/core/lib/index.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/babel-loader/lib/index.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/loader-runner/lib/loadLoader.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/loader-runner/lib/LoaderRunner.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/NormalModule.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/NormalModuleFactory.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/Compiler.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/webpack.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/@cypress/webpack-preprocessor/dist/index.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/@cypress/webpack-batteries-included-preprocessor/index.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/lib/plugins/child/run_plugins.js
- /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/lib/plugins/child/index.js
at handle (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/@cypress/webpack-preprocessor/dist/index.js:172:23)
at finalCallback (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/Compiler.js:257:39)
at /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/Compiler.js:306:14
at AsyncSeriesHook.eval [as callAsync] (eval at create (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/tapable/lib/Hook.js:154:20)
at /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/Compiler.js:304:22
at Compiler.emitRecords (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/Compiler.js:499:39)
at /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/Compiler.js:298:10
at /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/Compiler.js:485:14
at AsyncSeriesHook.eval [as callAsync] (eval at create (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/tapable/lib/Hook.js:154:20)
at /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/webpack/lib/Compiler.js:482:27
at /root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/neo-async/async.js:2818:7
at done (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/neo-async/async.js:3522:9)
at AsyncSeriesHook.eval [as callAsync] (eval at create (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (/root/.cache/Cypress/7.5.0/Cypress/resources/app/packages/server/node_modules/tapable/lib/Hook.js:154:20)
客户端容器运行完美,并且客户端文件夹已安装到赛普拉斯容器,因此它应该可以工作。
解决方案
添加@vue/cli-plugin-babel/preset
为 devDependencies 之一应该可以解决问题。
npm install @vue/cli-plugin-babel/preset --save-dev
推荐阅读
- javascript - 将 JS foreach 传递给没有表单的 JS 帖子
- java - 如何根据 Java 中的其他字符串列表减少我的结构列表?
- flutter - 添加阴影到 ClipRRect
- reactjs - Formik 重置表单,不是到初始状态,而是一个新的状态
- javascript - 我有一个在页面上出现两次的联系人列表,我只想在列表/应用程序的第二次出现时向列表中添加一个按钮
- php - 为什么 Laravel 简单分页不起作用?
- url-routing - sapper 模板博客路由无法从部署在 netlify 上的模板呈现数据
- firebase - 如何在 Firebase 云功能中进行身份验证
- node.js - 羽毛 - Socket.io - /socket.io/?EIO=3&transport=websocket - 404 未找到
- python - Django Pillow Install 适用于迁移,但无法运行