การตั้งค่าล่วงหน้าระยะไกลของ Vue Cli ขัดข้องในการเรียกใช้เครื่องกำเนิดไฟฟ้า

Aug 19 2020

ฉันพยายามสร้างรีโมต vue cli ที่ตั้งไว้ล่วงหน้าบน github แต่ด้วยเหตุผลบางอย่างฉันยังคงได้รับข้อผิดพลาดทางไวยากรณ์

repo ที่ตั้งไว้ล่วงหน้าของฉัน: https://github.com/christoph-schaeffer/vue-preset

คำสั่งที่ฉันป้อน: vue create --preset christoph-schaeffer / vue-preset testProject

ข้อผิดพลาดที่ฉันได้รับ:

🚀  Invoking generators...
 ERROR  SyntaxError: Identifier 'router' has already been declared (15:7)
SyntaxError: Identifier 'router' has already been declared (15:7)
    at Object._raise (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:762:17)
    at Object.raiseWithData (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:755:17)
    at Object.raise (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:749:17)
    at ScopeHandler.checkRedeclarationInScope (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:4826:12)
    at ScopeHandler.declareName (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:4792:12)
    at Object.checkLVal (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:9367:22)
    at Object.checkLVal (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:865:15)
    at Object.parseImportSpecifierLocal (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:12706:10)
    at Object.maybeParseDefaultImportSpecifier (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:12751:12)
    at Object.parseImport (/usr/local/lib/node_modules/@vue/cli/node_modules/@babel/parser/lib/index.js:12677:31)

ตอนแรกมันใช้งานได้ดีจากนั้นฉันได้เพิ่มหลายสิ่งใน preset.json พร้อมกับเทมเพลตเครื่องกำเนิดไฟฟ้า

หลังจากได้รับข้อผิดพลาดฉันได้ลองเปลี่ยน repo ทั้งหมดกลับเป็นสถานะที่มีเมื่อมันยังใช้งานได้ อย่างไรก็ตามฉันยังคงได้รับข้อผิดพลาดนั้น ...

ฉันเดาว่ามันไม่ได้เกี่ยวกับค่าที่ตั้งไว้ล่วงหน้า แต่เป็นปัญหากับแพ็คเกจ Babel ทั่วโลกของฉันหรืออะไร?

ฉันใช้ vue-cli เวอร์ชัน 4 และฉันกำลังทำงานบน Mac

คำแนะนำใด ๆ เกี่ยวกับวิธีที่ฉันจะได้รับนี้จะได้รับการชื่นชมอย่างมาก

คำตอบ

ChristophDietrich Aug 19 2020 at 16:38

ฉันพบปัญหาแล้ว

ประการแรก: vue cli ดูเหมือนจะแคชค่าที่ตั้งไว้ล่วงหน้าจากระยะไกล นั่นเป็นเหตุผลว่าทำไมจึงไม่ทำงานแม้ว่าจะยกเลิกการเปลี่ยนแปลงแล้วก็ตาม

ปัญหาที่เกิดขึ้นจริงคือไม่ควรเปลี่ยน main.js เหมือนกับไฟล์เทมเพลตอื่น ๆ และต้องได้รับการดูแลเป็นพิเศษ ด้วยเหตุผลแปลก ๆ มันทำให้เกิดข้อผิดพลาดแบบสุ่มทันทีที่คุณมี main.js ในเทมเพลตของคุณ

หากใครอยากรู้วิธีแก้ไข main.js ของคุณในพรีเซ็ตลองดู: https://cli.vuejs.org/dev-guide/plugin-dev.html#changing-main-file