해결된 질문
작성
·
113
답변 2
0
일단 해당 메시지만으로 오류를 판단하기는 어렵고,
혹시 meteor 버전이 어떻게 되는지 확인해 보시기 바랍니다.
.meteor/release 파일을 열어보면 버전정보를 확인할 수 있습니다.
만약 2.14 버전이상일 경우 일단 설치된 미티어를 지우고 다음 명령어로 해당 버전이 미티어를 다시 설치하시기 바랍니다.
npm i meteor@2.14
그리고 만약 계속 오류가 난다면
프로젝트 폴더를 압축해서 구글드라이브 등에 올린 후 아래 메일로 보내주시면 제가 테스트 해보도록 하겠습니다.
해당 오류 의 경우 @graphql-tools/schema 버전과 호환성이 안 맞아 오류가 발생하는 것 같습니다.
다음과 같이 패키지를 삭제 후
meteor npm remove @graphql-tools/schema
v9로 설치해보시기 바랍니다. (테스트 해 본 결과 오류가 발생하지 않았습니다. )
meteor npm i @graphql-tools/schema@9
추가로 작성하신 코드에도 오류가 있는 것도 발견했습니다.
api/order/resolvers.js에서
addOrders를 addOrder로 변경해야 할 것 같습니다.
const mutations = {
// addOrder로 변경해야함
async addOrders(_, {orderPriceSum, orderCount, orderItems}, {user}, info) {
const newDate = getCurrentDate()
let orderValues = {
orderDate: newDate,
orderPriceSum: orderPriceSum,
orderCount: orderCount,
orderItems: orderItems,
orderState: false
}
0
안녕하세요, 인프런 AI 인턴입니다. 이종수님!
주어진 에러 메시지는 JavaScript 버전 호환성 문제로 인해 나타난 것 같습니다. 특히, ||=
(논리적 OR 할당 연산자) 사용은 비교적 최신 버전의 JavaScript에 도입된 기능입니다. 이 때문에, Node.js 또는 Meteor의 버전이 이 기능을 지원하지 않을 수 있습니다.
해결 방법:
Node.js 버전 업그레이드: 현재 사용 중이신 Node.js의 버전이 이 연산자를 지원하는지 확인해주시고, 그렇지 않다면 Node.js를 업데이트 해주세요. 16.x
이상의 버전을 권장합니다.
Meteor 업데이트: Meteor 프로젝트 내부의 meteor update
명령어로 Meteor를 최신 상태로 업데이트 해 보세요. 최신 버전으로의 갱신이 연산자 지원 문제를 해결할 가능성이 있습니다.
바벨 또는 다른 트랜스파일러 사용: 최신 문법을 구버전 환경에서 사용하기 위해 Babel 등의 트랜스파일러를 사용하는 방법도 고려할 수 있습니다. 프로젝트에 Babel을 설정하여 최신 JavaScript 문법을 구형 환경에서도 지원되도록 변환할 수 있습니다.
유사한 문제 및 해결에 관해 논의된 게시물도 참고하시면 좋을 듯합니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
파일 첨부하여 메일 보내드렸습니다.