001, ajoutez le fichier package.json
"scripts": { "serve": "vue-cli-service serve", // Appeler l'api de développement "build": "vue-cli-service build", // En ligne "test": "vue-cli-service build --mode test ", // Ce qui doit être ajouté, test },
002. Créez un fichier .env dans le répertoire racine et configurez
NODE_ENV = 'production' VUE_APP_FLAG = 'pro' // Le code Vue peut utiliser directement le nom VUE_APP_
003. Créez un fichier .env.test dans le répertoire racine
NODE_ENV = 'production' VUE_APP_FLAG = 'test' outputDir = test // Vous pouvez changer le nom de la sortie du répertoire lors de l'empaquetage, la valeur par défaut est dist
004. Créez vue.config.js dans le répertoire racine
module.express = { baseUrl: process.env.NODE_ENV === 'production'? '/ static /': './', devServe: { port: 8080, // disableHostCheck: true, // l'hôte de traitement ne reconnaît pas le problème }, baseUrl: '/', // chemin de base, ne modifiez pas outputDir: process.env.outputDir, // répertoire de génération de package assetDir: 'statique', lintOnSave: false, runtimeCompiler: true, // s'il faut utiliser include runtime Version du build Vue du compilateur productionSourceMap: false, // carte source de l'environnement de production }
005. Configurer les variables api dans main.js
/ * La première couche de if évalue l'environnement de production et l'environnement de développement * / if (process.env.NODE_ENV === 'production') { / * La deuxième couche de if, selon le VUE_APP_FLAG dans le fichier .env, détermine s'il s'agit d'un environnement de production ou d'un environnement de test * / if (process.env.VUE_APP_FLAG === 'pro') { // environnement de production de production axios.defaults.baseURL = 'http: //api.xinggeyun.com'; // path } else { // test test Environnement axios.defaults.baseURL = 'http://192.168.0.152:8102';//path
}} else {// environnement de développement dev axios.defaults.baseURL = 'http://192.168.0.152:8102';//path
}
Enfin test de course npm ou test de fil
ps: j'ai utilisé outputDir = test, mais c'est toujours le nom de fichier par défaut de dist après l'empaquetage. Je ne connais pas la raison. Si vous le savez, merci de partager
Enfin, j'espère vous aider! !
Vous pouvez vous référer à:
https://juejin.im/post/5c63afd56fb9a049b41cf5f4