Vue.js 如何在vue cli项目中更改端口号

Vue.js 如何在vue cli项目中更改端口号,vue.js,vuejs2,command-line-interface,vue-cli,Vue.js,Vuejs2,Command Line Interface,Vue Cli,如何更改Vue cli项目中的端口号,使其在另一个端口而不是8080上运行。Vue cli网页包模板的端口位于应用程序根目录中 您只需修改dev块中的port值: dev: { proxyTable: {}, env: require('./dev.env'), port: 4545, assetsSubDirectory: 'static', assetsPublicPath: '/', cssSourceMap: false } 现在,

如何更改Vue cli项目中的端口号,使其在另一个端口而不是8080上运行。

Vue cli网页包模板的端口位于应用程序根目录中

您只需修改
dev
块中的
port
值:

 dev: {
    proxyTable: {},
    env: require('./dev.env'),
    port: 4545,
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    cssSourceMap: false
  }
现在,您可以使用
localhost:4545


另外,如果您有
.env
文件,最好在
webpack.config.js
中从那里设置它:

module.exports = {
  ......
  devServer: {
    historyApiFallback: true,
    port: 8081,   // you can change the port there
    noInfo: true,
    overlay: true
  },
  ......
}
您可以在
模块中更改端口。导出
->
devServer
->
端口


然后重新启动
npm运行dev
。你可以得到

在撰写本回答时(2018年5月5日),
vue cli
的配置位于
/vue.config.js
。要更改端口,请参见以下内容:

// vue.config.js
module.exports = {
  // ...
  devServer: {
    open: process.platform === 'darwin',
    host: '0.0.0.0',
    port: 8080, // CHANGE YOUR PORT HERE!
    https: false,
    hotOnly: false,
  },
  // ...
}
完整的
vue.config.js
参考可以在这里找到:


请注意,如文档中所述,“webpack dev server的所有选项”(All options for webpack dev server)在
devServer
部分中提供

如果使用的是
vue cli
3.x,只需将端口传递给
npm
命令,如下所示:

npm运行服务--port 3000


然后访问
http://localhost:3000/

如果使用vue cli 3,另一个选项是使用配置文件。将
vue.config.js
放在与您的
package.json
相同的级别上,并放置如下配置:

module.exports = {
  devServer: {
    port: 3000
  }
}
使用脚本对其进行配置:

npm run serve --port 3000

工作得很好,但如果你有更多的配置选项,我喜欢在配置文件中这样做。您可以在中找到更多信息

使用
vue cli
版本3的另一种方法是在根项目目录中添加一个
.env
文件(以及
package.json
),其内容如下:

PORT=3000


运行
npm run serve
将表明应用程序正在端口3000上运行。

最好的方法是更新
package.json
文件中的serve脚本命令。只需像这样附加
--port 3000

"scripts": {
  "serve": "vue-cli-service serve --port 3000",
  "build": "vue-cli-service build",
  "inspect": "vue-cli-service inspect",
  "lint": "vue-cli-service lint"
},

派对迟到了,但我认为将所有这些答案整合成一个概述所有选项是有帮助的

在Vue CLI v2(网页包模板)和Vue CLI v3中分开,按优先级排序(从高到低)

Vue CLI v3
  • package.json
    :将端口选项添加到
    service
    script:
    scripts.service=vue cli服务--port 4000
  • CLI选项
    --端口
    npm运行服务
    ,例如
    npm运行服务----端口3000
    。注意
    --
    ,这使得将端口选项传递给npm脚本而不是npm本身。因为至少是v3.4.1,所以它应该是vue cli服务的端口3000
  • 环境变量
    $PORT
    ,例如
    PORT=3000 npm运行服务
  • .env
    文件,更具体的环境会覆盖不太具体的环境,例如
    端口=3242
  • vue.config.js
    devServer.port
    ,例如
    devServer:{port:9999}
参考资料:

Vue CLI v2(已弃用)
  • 环境变量
    $PORT
    ,例如
    PORT=3000 npm运行dev
  • /config/index.js
    dev.port
参考资料:


在VisualStudio代码中的vue项目中,我必须在/config/index.js中设置此选项。 请在中更改它:

module.exports = {
    dev: {
          // Paths
          assetsSubDirectory: 'static',
          assetsPublicPath: '/',
          proxyTable: {},

          host: 'localhost', // can be overwritten by process.env.HOST
          port: 8090, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
          autoOpenBrowser: false,
          errorOverlay: true,
          notifyOnErrors: true,
          poll: false    
         }
}

PORT
env变量添加到
package.json中的
service
脚本中:

"serve": "PORT=4767 vue-cli-service serve",

这里有很多不同版本的答案,因此我想我会在使用Vue CLI时确认并阐述Julien Le Coupanec在2018年10月的答案。在截至本文的最新版本Vue.js中-vue@2.6.10-在阅读了本文中的众多答案后,下面概述的步骤对我来说最有意义。参考了这个谜题的各个部分,但没有那么明确

  • 打开Vue.js项目根目录中的
    package.json
    文件
  • package.json
    文件中搜索“端口”
  • 找到以下对“端口”的引用后,使用如下所示的相同语法编辑
    service
    脚本元素以反映所需的端口:

    "scripts": {
      "serve": "vue-cli-service serve --port 8000",
      "build": "vue-cli-service build",
      "lint": "vue-cli-service lint"
    }
    
  • 确保重新启动
    npm
    服务器以避免不必要的疯狂


  • 文档显示,通过将
    --port 8080
    添加到
    npm run serve
    命令的末尾,可以有效地获得相同的结果,如下所示:
    npm run serve--port 8080
    。我倾向于直接编辑
    package.json
    以避免额外的键入,但编辑
    npm run service--port 1234
    内联可能对某些人有用。

    转到node_modules/@vue/cli service/lib/options.js
    在“devServer”内部的底部,解锁代码
    现在在“端口”中给出所需的端口号:


    如果要更改localhost端口,可以在package.json中更改scripts标记:


    天哪!这并没有那么复杂,这些答案同样有效。然而,这个问题的其他答案也很有效

    如果您确实想使用
    vue cli服务
    ,并且希望在您的
    package.json
    文件中设置端口,您的“vue”将创建该文件,第一个选项:

    打开package.json并在“服务”部分添加“-port no”

    就像下面一样,我已经做到了

    {
      "name": "app-name",
      "version": "0.1.0",
      "private": true,
      "scripts": {
        "serve": "vue-cli-service serve --port 8090",
        "build": "vue-cli-service build",
        "lint": "vue-cli-service lint"
    }
    
    第二个选项:如果需要通过命令提示


    最新vuejs版本中的npm运行服务端口8090

    。不再使用该文件,而是使用:/vue.config.js。该文件
    myApp/config/index.js
    不存在!Vue CLI 3在项目根目录下使用Vue.config.js。它必须手动创建IIRC
     "scripts": {
        "serve": "vue-cli-service serve --port 3000",
        "build": "vue-cli-service build",
        "lint": "vue-cli-service lint"
      },
    
    ...
    "scripts": {
    "serve": "vue-cli-service serve --port 3000",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
    },
    ...
    
    {
      "name": "app-name",
      "version": "0.1.0",
      "private": true,
      "scripts": {
        "serve": "vue-cli-service serve --port 8090",
        "build": "vue-cli-service build",
        "lint": "vue-cli-service lint"
    }