001, agregue en el archivo package.json
"scripts": { "serve": "vue-cli-service serve", // Llame a la API de desarrollo "build": "vue-cli-service build", // Online "test": "vue-cli-service build --mode test ", // Lo que hay que agregar, test },
002. Cree un archivo .env en el directorio raíz y configure
NODE_ENV = 'production' VUE_APP_FLAG = 'pro' // El código Vue puede usar directamente el nombre VUE_APP_
003. Cree un archivo .env.test en el directorio raíz
NODE_ENV = 'production' VUE_APP_FLAG = 'test' outputDir = test // Puede cambiar el nombre de la salida del directorio durante el empaquetado, el valor predeterminado es dist
004. Cree vue.config.js en el directorio raíz
module.express = { baseUrl: process.env.NODE_ENV === 'production'? '/ static /': './', devServe: { port: 8080, // disableHostCheck: true, // el host de procesamiento no reconoce el problema }, baseUrl: '/', // ruta base, no cambie outputDir: process.env.outputDir, // directorio de generación de paquetes assetDir: 'static', lintOnSave: false, runtimeCompiler: true, // si se debe usar el tiempo de ejecución incluido La versión de compilación Vue del compilador productionSourceMap: false, // mapa fuente del entorno de producción }
005. Configurar variables api en main.js
/ * La primera capa de if juzga el entorno de producción y el entorno de desarrollo * / if (process.env.NODE_ENV === 'production') { / * La segunda capa de if, de acuerdo con VUE_APP_FLAG en el archivo .env, juzga si es un entorno de producción o un entorno de prueba * / if (process.env.VUE_APP_FLAG === 'pro') { // entorno de producción de producción axios.defaults.baseURL = 'http: //api.xinggeyun.com'; // ruta } else { // prueba de prueba Entorno axios.defaults.baseURL = 'http://192.168.0.152:8102';//path
}} else {// entorno de desarrollo de desarrollo axios.defaults.baseURL = 'http://192.168.0.152:8102';//path
}
Finalmente prueba de ejecución npm o prueba de ejecución de hilo
ps: utilicé outputDir = test, pero sigue siendo el nombre de archivo predeterminado de dist después del empaque. No sé el motivo. Si lo sabes, comparte
¡Finalmente, espero ayudarte! !
Puede consultar:
https://juejin.im/post/5c63afd56fb9a049b41cf5f4