Сбой предустановки удаленного Vue Cli при вызове генераторов

Aug 19 2020

Я пытаюсь создать удаленный пресет vue cli на github, но по какой-то причине я продолжаю получать синтаксическую ошибку.

Мое предустановленное репо: 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 вместе с шаблоном генератора.

После получения ошибки я попытался вернуть все репо в то состояние, в котором оно было, когда оно все еще работало. Однако я все еще получаю эту ошибку ...

Думаю, дело не в предустановке, а в проблеме с моим глобальным пакетом 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