J'ai utilisé Vue depuis un certain temps maintenant, mais je ne fais que commencer avec la CLI et je suis un peu confus.
J'ai installé @vue/cli
et si je tape vue
dans la ligne de commande, j'obtiens:
Usage: vue <command> [options]
Options:
-V, --version output the version number
-h, --help output usage information
Commands:
create [options] <app-name> create a new project powered by vue-cli-service
add [options] <plugin> [pluginOptions] install a plugin and invoke its generator in an already created project
invoke [options] <plugin> [pluginOptions] invoke the generator of a plugin in an already created project
inspect [options] [paths...] inspect the webpack config in a project with vue-cli-service
serve [options] [entry] serve a .js or .vue file in development mode with zero config
build [options] [entry] build a .js or .vue file in production mode with zero config
ui [options] start and open the vue-cli ui
init [options] <template> <app-name> generate a project from a remote template (legacy API, requires @vue/cli-init)
config [options] [value] inspect and modify the config
upgrade [semverLevel] upgrade vue cli service / plugins (default semverLevel: minor)
info print debugging information about your environment
Run vue <command> --help for detailed usage of given command.
J'ai créé un projet avec vue
et je devais installer @vue/cli-service-global
pour une raison dont je ne me souviens pas.
Après cela, cependant, j'ai remarqué:
'vue-cli-service' is not recognized as an internal or external command
Et c'est parce que j'ai dû installer @vue/cli-service
. Maintenant, quand je tape vue-cli-service
en ligne de commande, j'obtiens:
Usage: vue-cli-service <command> [options]
Commands:
serve start development server
build build for production
inspect inspect internal webpack config
run vue-cli-service help [command] for usage of a specific command.
Apparemment, je peux créer, servir et inspecter avec les deux outils CLI. Ma question est - quelle est la différence entre eux? Le readme de @vue/cli
et @vue/cli-service
n'a qu'un lien vers cette page où aucune réponse n'est donnée à cette question.
Que puis-je faire avec l'un que je ne peux pas faire avec l'autre? Ai-je besoin des deux?
@vue/cli-service-global
est un package qui vous permet d'exécuter vue serve
et vue build
sans aucune dépendance locale .
@vue/cli-service
est un package qui fait réellement ces vue serve
et vue build
, tous les deux @vue/cli-service-global
et @vue/cli
en dépendent.
Si vous utilisez @vue/cli
alors vous n'avez pas besoin d'installer deux autres indépendamment, car il a déjà @vue/cli-service
dans ses dépendances.
Ajouté: Juste pour être sûr, je vais l'expliquer plus:
@vue/cli
:
add
, create
, config
, ui
et autres commandesbuild
et serve
commandes via @vue/cli-service-global
paquetinspect
commande par @vue/cli-service
package (dépendance locale)@vue/cli-service-global
:
build
, inspect
et serve
commandes via @vue/cli-service
paquet@vue/cli-service
:
build
, inspect
et serve
commandesVous devez donc installer @vue/cli
uniquement et supprimez les deux autres.
Ajouté: Clarification sur l'utilisation de vue-cli-service
: Lorsque vous créez un projet à l'aide de vue create
commande, @vue/cli
fait un lien vers vue-cli-service
binaire à l'intérieur ./node_modules/.bin
du projet créé.
Ensuite, vous pouvez l'utiliser comme ceci:
Accédez-y directement en tant que vue-cli-service
à l'intérieur npm
scripts (package.json
):
"scripts": {
"watch": "vue-cli-service build --watch"
}
./node_modules/.bin/vue-cli-service build --watch
. Vous pouvez même ajouter ./node_modules/.bin
à votre Shell PATH
et accédez-y directement depuis le Shell en tant que vue-cli-service
.