2017-12-19 41 views
0

매우 최신의 (2017 년 12 월) 종속 관계 스택을 사용하고 있습니다. Jest와 같은 동형 반응 테스트를 시도합니다. 여기 Jest Test 바벨 오류 : 객체를 내보내는 데 플러그인/사전 설정 파일을 사용할 수 없습니다.

* Test suite failed to run 
[BABEL] /__tests__/router.test.js: Plugin/Preset files are not allowed to 
export objects, only functions. 

내 의존성은 다음과 같습니다 :

테스트 슈트는 다음과 같은 오류와 함께 실패 유지

"dependencies": { 
    "axios": "^0.17.1", 
    "babel-polyfill": "^6.26.0", 
    "cors": "^2.8.4", 
    "express": "^4.16.2", 
    "react": "^16.1.1", 
    "react-dom": "^16.1.1", 
    "react-router-dom": "^4.2.2" 
    }, 
    "devDependencies": { 
    "@babel/core": "^7.0.0-beta.35", 
    "babel-cli": "^6.26.0", 
    "babel-core": "^7.0.0-bridge.0", 
    "babel-eslint": "^8.0.2", 
    "babel-jest": "^22.0.1", 
    "babel-loader": "^7.1.2", 
    "babel-preset-env": "^1.6.1", 
    "babel-preset-react": "^6.24.1", 
    "enzyme": "^3.2.0", 
    "enzyme-adapter-react-16": "^1.1.0", 
    "enzyme-to-json": "^3.2.2", 
    "eslint": "^4.11.0", 
    "eslint-plugin-react": "^7.5.1", 
    "html-webpack-plugin": "^2.30.1", 
    "jest": "^21.2.1", 
    "nodemon": "^1.11.0", 
    "parallelshell": "^3.0.2", 
    "react-test-renderer": "^16.2.0", 
    "regenerator-runtime": "^0.11.1", 
    "supertest": "^3.0.0", 
    "webpack": "^3.8.1", 
    "webpack-dev-server": "^2.9.4" 
    }, 
    "peerDependencies": { 
    "babel-core": "^7.0.0-0" 
    } 

.babelrc :

{ 
    "presets": [ 
    "env", 
    "react", 
    ] 
} 

누군가가 같은 통찰력을 가지고 있습니까 농담은 왜 안되나요?

은 ... 당신의 시간을 사전에

감사합니다, 100 %가 아닌 다리 패키지가하는 일입니다

EdLee을

+0

일반적으로 바벨 6과 7의 혼합을 사용하면 문제가 발생할 것입니다. 여기서 7을 사용하라는 메시지는 무엇입니까? – loganfsmyth

+0

이것은 프로덕션 프로젝트가 아니며, 바벨교는 6과 7 사이의 모든 문제를 다루기위한 것입니다. 그렇지만, 상황을 잘 모르는 사람은 다운 그레이드에 동의합니다. – edlee

+0

"바벨교는 6 ~ 7 호 사이의 모든 문제를 다룰 예정입니다."그것이 100 %가하는 것이 아닙니다. 말 그대로 Jest가 Babel 7을로드 할 수있게 해줍니다. Babel 7을 사용한다면'@ babel/preset-react' 등을 사용해야합니다. – loganfsmyth

답변

2

babel bridge is meant to cover any issues between 6 and 7

주셔서 감사합니다. 도구를 사용하면 babel-core을 사용하는 도구가 @babel/core으로 전달됩니다. 전체 패키지는 this single line of code입니다.

{ 
    "presets": [ 
    "@babel/env", 
    "@babel/react", 
    ] 
} 

마찬가지로, babel-polyfill이해야 : 당신이 @babel/core를 사용하는 경우

, 당신은 babel-preset-react@babel/preset-react 변경과 같은 @babel/preset-env과 당신의 .babelrc이어야한다 의미 바벨 7에서 작동 플러그인을 사용할 필요가 @babel/polyfill이되어야합니다.

아직 바벨 7이 불안정한 베타이기 때문에이 내용에 대해서는 아직 잘 설명되어 있지 않습니다.

+0

건배는 올바른 방향으로 나를 가리키기 위해 @loganfsmyth! 그게 내 문제를 해결해 줬어. 그리고 이것을 설명하고 나의 오해를 바로 잡을 시간을내어 주셔서 감사합니다. – edlee