web-dev-qa-db-ja.com

vue-cliとvue-cli-serviceの違いは何ですか?

私はVueをしばらく使用しましたが、CLIを使い始めたばかりで、少し混乱しました。

@vue/cli をインストールしました。コマンドラインにvueと入力すると、次のようになります。

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.

vueを使用してプロジェクトを作成しましたが、何らかの理由で覚えられない @vue/cli-service-global をインストールする必要がありました。

しかしその後、私は気づきました:

'vue-cli-service' is not recognized as an internal or external command

そして、それは @vue/cli-service をインストールしなければならなかったためです。ここで、コマンドラインにvue-cli-serviceと入力すると、次のようになります。

  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.

どうやら、私は両方のCLIツールを使用して構築、提供、および検査することができます。私の質問は-それらの違いは何ですか? @vue/cli@vue/cli-serviceの両方のreadmeには、 this page へのリンクしかありません。この質問には回答がありません。

もう1つではできない1つで何ができますか?両方必要ですか?

10
dodov

@vue/cli-service-globalは、ローカルの依存関係なしにvue serveおよびvue buildを実行できるようにするパッケージです

@vue/cli-serviceは、実際にvue serveおよびvue buildを実行するパッケージであり、@vue/cli-service-global@vue/cliの両方がそれに依存しています。

@vue/cliを使用している場合は、依存関係に@vue/cli-serviceがすでにあるため、別の2つを個別にインストールする必要はありません。


追加:念のため、詳しく説明します。

@vue/cli

  1. addcreateconfiguiおよびその他のコマンド
  2. buildおよびserveコマンド〜@vue/cli-service-globalパッケージ
  3. inspectコマンドから@vue/cli-serviceパッケージ(ローカル依存関係)

@vue/cli-service-global

  1. buildinspectおよびserveコマンド〜@vue/cli-serviceパッケージ

@vue/cli-service

  1. buildinspectserveコマンド

したがって、@vue/cliのみをインストールし、他の2つを削除する必要があります。


追加:vue-cli-serviceの使用についての説明:vue createコマンドを使用してプロジェクトを作成すると、@vue/clivue-cli-serviceバイナリへのリンクを作成します./node_modules/.bin作成されたプロジェクトの。

その後、次のように使用できます。

  1. npmスクリプト内のvue-cli-serviceとして直接アクセスします(package.json):

    "scripts": {
      "watch": "vue-cli-service build --watch"
    }
    
  2. シェルからアクセス:./node_modules/.bin/vue-cli-service build --watch。 Shell PATH./node_modules/.binを追加して、vue-cli-serviceとしてシェルから直接アクセスすることもできます。
13
Styx