So ändern Sie die Portnummer im vue-cli-Projekt

103

So ändern Sie die Portnummer im Vue-cli-Projekt so, dass sie auf einem anderen Port anstelle von 8080 ausgeführt wird.

Salman
quelle

Antworten:

20

Der Port für die Vue-cli-Webpack-Vorlage befindet sich im Stammverzeichnis Ihrer App myApp/config/index.js.

Sie müssen lediglich den portWert innerhalb des devBlocks ändern :

 dev: {
    proxyTable: {},
    env: require('./dev.env'),
    port: 4545,
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    cssSourceMap: false
  }

Jetzt können Sie mit auf Ihre App zugreifen localhost:4545

auch wenn Sie eine .envbessere Datei haben , um sie von dort aus einzustellen

Samayo
quelle
18
In der neuesten vuejs Version. Die Datei wird nicht mehr verwendet, sondern verwendet: <Ihre_Projektwurzel> /vue.config.js.
Jianwu Chen
3
Die Datei myApp/config/index.jsexistiert nicht!
Exhuma
3
Vue CLI 3 verwendet vue.config.js im Projektstamm. Es muss manuell IIRC erstellt werden.
Ege Ersoz
1
Es gibt dort keine vue.config.js
Geomorillo
19
"scripts": { "serve": "vue-cli-service serve --port 80" },
Sudhir K Gupta
121

Wenn Sie vue-cli3.x verwenden, können Sie den Port einfach npmwie folgt an den Befehl übergeben:

npm run serve -- --port 3000

Dann besuchen http://localhost:3000/

Nick Litwin
quelle
7
Sie haben mir wertvolle Zeit gespart, da die erste --nicht im Dokument geschrieben ist: cli.vuejs.org/guide/cli-service.html#using-the-binary . Ich habe getippt, npm run serve --port 3000was mir logisch erscheint, aber ich habe Fehler bekommen ... Daumen hoch!
Toni07
3
Das ist , weil die ersten --Fluchten angesichts der Parameter npm run serveund nicht zu vue-cli-service. Wenn Sie package.jsonden serveBefehl direkt bearbeiten , geben Sie ihn wie in der Dokumentation gezeigt ein:"serve": "vue-cli-service serve --port 3000",
MatsLindh
93

Spät zur Party, aber ich denke, es ist hilfreich, all diese Antworten in einer zusammenzufassen, in der alle Optionen aufgeführt sind.

Getrennt in Vue CLI v2 (Webpack-Vorlage) und Vue CLI v3, sortiert nach Rangfolge (hoch bis niedrig).

Vue CLI v3

  • package.json: Portoption zum serveSkript hinzufügen:scripts.serve=vue-cli-service serve --port 4000
  • CLI Option --portzu npm run servez npm run serve -- --port 3000. Beachten Sie --, dass dadurch die Port-Option an das npm-Skript anstatt an npm selbst übergeben wird. Seit mindestens v3.4.1 sollte es zB seinvue-cli-service serve --port 3000 .
  • Umgebungsvariable $PORT, zPORT=3000 npm run serve
  • .env Dateien, spezifischere Umgebungen überschreiben weniger spezifische, z PORT=3242
  • vue.config.js, devServer.portZBdevServer: { port: 9999 }

Verweise:

Vue CLI v2 (veraltet)

  • Umgebungsvariable $PORT, zPORT=3000 npm run dev
  • /config/index.js:: dev.port

Verweise:

wwerner
quelle
3
Sieht so aus, als hätte sich dies in der neuesten Version (mit 3.4.1) ein wenig geändert. Hier ist meine "Serve" -Zeile in package.json : "serve": "vue-cli-service serve --port 4000",. Funktioniert super!
RoccoB
@RoccoB Danke, ich habe es überprüft und der Antwort hinzugefügt.
wwerner
Die obigen Antworten scheinen derzeit in Version 3 nicht zu funktionieren. Ich habe die Befehlsoptionen .env, package.json, vue.config.js und CLI ausprobiert, aber alle werden ignoriert. Die Konfigurationsdatei docs sagen : „Einige Werte mögen host, portund httpsdurch Befehlszeilen - Flags werden überschrieben werden.“ cli.vuejs.org/config/#devserver Vermisse ich etwas? Hat noch jemand Probleme?
Ryan
2
@Ryan - Dies wurde gestern im VueJS CLI-Repository gemeldet. Probleme: github.com/vuejs/vue-cli/issues/4452 Es heißt, Portfinder ( github.com/http-party/node-portfinder ) zu installieren, da es einen gab brechende Veränderung, die damit passiert ist.
Angelo
38

Zum Zeitpunkt des Schreibens dieser Antwort (5. Mai 2018) vue-cliwird die Konfiguration unter gehostet <your_project_root>/vue.config.js. Informationen zum Ändern des Anschlusses finden Sie unten:

// 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,
  },
  // ...
}

Die vollständige vue.config.jsReferenz finden Sie hier: https://cli.vuejs.org/config/#global-cli-config

Beachten Sie, dass, wie in den Dokumenten angegeben, "Alle Optionen für den Webpack-Dev-Server" ( https://webpack.js.org/configuration/dev-server/ ) in diesem devServerAbschnitt verfügbar ist .

TomyJaya
quelle
1
@srf: Antwort bearbeitet. Vielen Dank für den Hinweis auf den defekten Link.
TomyJaya
Muss ein \ gewesen sein. Wirkung auf dieser Seite :)
Killjoy
12

Eine andere Option, wenn Sie vue cli 3 verwenden, ist die Verwendung einer Konfigurationsdatei. Machen Sie eine vue.config.jsauf der gleichen Ebene wie Ihre package.jsonund setzen Sie eine Konfiguration wie folgt:

module.exports = {
  devServer: {
    port: 3000
  }
}

Konfigurieren Sie es mit dem Skript:

npm run serve --port 3000

funktioniert gut, aber wenn Sie mehr Konfigurationsoptionen haben, mache ich das gerne in einer Konfigurationsdatei. Weitere Informationen finden Sie in den Dokumenten .

derFBeste
quelle
1
Ich mag diese Antwort, da sie zeigt, dass vue.config.js verwendet werden kann, um einfach den Port zu ändern und alles andere so zu belassen, wie es ursprünglich gefragt wurde.
Verdreht
9

Am besten aktualisieren Sie den Serveskript-Befehl in Ihrer package.jsonDatei. Einfach so anhängen --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"
},
Julien Le Coupanec
quelle
8

In der webpack.config.js:

module.exports = {
  ......
  devServer: {
    historyApiFallback: true,
    port: 8081,   // you can change the port there
    noInfo: true,
    overlay: true
  },
  ......
}

Sie können den Port unter module.exports-> devServer-> ändern port.

Dann restratieren Sie die npm run dev. Das kannst du bekommen.

Flugzeug
quelle
8

Wenn Sie den localhost-Port ändern möchten, können Sie das Skript- Tag in package.json ändern :

 "scripts": {
    "serve": "vue-cli-service serve --port 3000",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
Fatih Başar
quelle
Vielen Dank :-)
Adam Orlov
5

Ein alternativer Ansatz mit vue-cliVersion 3 besteht darin, eine .envDatei im Stammprojektverzeichnis (nebeneinander package.json) mit dem Inhalt hinzuzufügen :

PORT=3000

Laufen npm run servezeigt nun die Anwendung auf Port 3000 läuft.

Chris Dickson
quelle
4

Es gibt hier viele Antworten, die je nach Version variieren. Daher dachte ich, ich würde die Antwort von Julien Le Coupanec ab Oktober 2018 bei Verwendung der Vue-CLI bestätigen und erläutern . In der neuesten Version von Vue.js ab diesem Beitrag - [email protected] - waren die folgenden Schritte für mich am sinnvollsten, nachdem ich einige der unzähligen Antworten in diesem Beitrag durchgesehen hatte. Die Dokumentation zu Vue.js verweist auf Teile dieses Puzzles, ist jedoch nicht ganz so explizit.

  1. Öffne das package.json Datei im Stammverzeichnis des Vue.js-Projekts.
  2. Suchen Sie in der package.jsonDatei nach "port" .
  3. Wenn Sie den folgenden Verweis auf "port" gefunden haben, bearbeiten Sie das serveSkriptelement so, dass es den gewünschten Port widerspiegelt. Verwenden Sie dazu die gleiche Syntax wie unten gezeigt:

    "scripts": {
      "serve": "vue-cli-service serve --port 8000",
      "build": "vue-cli-service build",
      "lint": "vue-cli-service lint"
    }
    
  4. Stellen Sie sicher, dass Sie den npmServer neu starten , um unnötigen Wahnsinn zu vermeiden.

Die Dokumentation zeigt, dass man effektiv das gleiche Ergebnis erzielen kann --port 8080, indem man am Ende des npm run serveBefehls Folgendes hinzufügt : npm run serve --port 8080. Ich habe es vorgezogen, das package.jsondirekt zu bearbeiten , um zusätzliches Tippen zu vermeiden, aber das npm run serve --port 1234Inline- Bearbeiten kann für einige nützlich sein.

Kevin
quelle
1

Fügen Sie die PORTenvvariable Ihrem serveSkript hinzu in package.json:

"serve": "PORT=4767 vue-cli-service serve",
Dominic
quelle
1

Oh mein Gott! Es ist nicht so kompliziert, mit diesen Antworten, die auch funktionieren. Andere Antworten auf diese Frage funktionieren jedoch auch gut.

Wenn Sie das wirklich verwenden möchten vue-cli-serviceund die Porteinstellung in Ihrer package.jsonDatei haben möchten , die Ihr Befehl 'vue create <app-name>' grundsätzlich erstellt, können Sie die folgende Konfiguration verwenden : --port 3000. Die gesamte Konfiguration Ihres Skripts sieht also folgendermaßen aus:

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

Ich benutze @vue/cli 4.3.1 (vue --version)auf einem MacOS-Gerät.

Ich habe auch die vue-cli-service-Referenz hinzugefügt: https://cli.vuejs.org/guide/cli-service.html

Ebrahim
quelle
0

In meinem Vue-Projekt in Visual Studio-Code musste ich dies in /config/index.js festlegen . Ändern Sie es in:

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    
         }
}
Terje Solem
quelle
0

Gehen Sie zu node_modules/@vue/cli-service/lib/options.js.
Unten im "devServer" werden die Codes entsperrt.
Geben Sie nun Ihre gewünschte Portnummer im "Port" ein :)

devServer: {
   open: process.platform === 'darwin',
   host: '0.0.0.0',
   port: 3000,  // default port 8080
   https: false,
   hotOnly: false,
   proxy: null, // string | Object
   before: app => {}
}
MRIDUAVA
quelle
3
gehe zu node_modules / @ vue / cli-service ...? Wird das beim npm-Update nicht überschrieben?
Joeri