in the scaffolding, we can always see "vue$" has an alias" vue/dist/vue.esm.js" 
 alias: {
  "vue$": "vue/dist/vue.esm.js",
  "@": resolve("src")}
module: {
rules: [
  ...(config.dev.useEslint ? [createLintingRule()] : []),
  {
    test: /\.vue$/,
    loader: "vue-loader",
    options: vueLoaderConfig
  }]}
 but when we actually quote vue, import Vue from "vue" does not use this alias 
, while "main": "dist/vue.runtime.common.js" in package.json in vue"s npm package defaults to vue.runtime.common.js 
so the question is, what is the function of "vue$":" vue/dist/vue.esm.js", in alias?
