40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
|
|
import {
|
|||
|
|
loadEnv
|
|||
|
|
} from "vite";
|
|||
|
|
import uni from "@dcloudio/vite-plugin-uni";
|
|||
|
|
|
|||
|
|
export default (command, mode) => {
|
|||
|
|
//uniapp中,这个mode,不用命令行的添加--mode编译的话,是undefined的
|
|||
|
|
if (!mode) {
|
|||
|
|
//这里是为了确保mode有值,假如开发人员直接在开发工具选择编译到浏览器,也能兼容到
|
|||
|
|
if (process.env.NODE_ENV == "production") {
|
|||
|
|
mode = "production";
|
|||
|
|
} else {
|
|||
|
|
mode = "development";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
//这个就是第三步配置的uni-app的script,一一对应判断
|
|||
|
|
switch (process.env.UNI_SCRIPT) {
|
|||
|
|
case "dev":
|
|||
|
|
mode = "development";
|
|||
|
|
break;
|
|||
|
|
case "localhost":
|
|||
|
|
mode = "localhost";
|
|||
|
|
break;
|
|||
|
|
default:
|
|||
|
|
mode = "production";
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
const env = loadEnv(mode, __dirname, "MP_");
|
|||
|
|
console.log('mode: ', mode);
|
|||
|
|
console.log(process.env.UNI_SCRIPT)
|
|||
|
|
console.log(`📦 正在编译 ${mode} 环境`);
|
|||
|
|
return {
|
|||
|
|
envPrefix: "MP_",
|
|||
|
|
plugins: [uni()],
|
|||
|
|
define: {
|
|||
|
|
//根据vite的官方文档,可以把define定义的变量名,在项目编译时,识别项目文件中的这个变量名直接替换成env配置,我们把这个变量放到config.js文件中,对env配置进行集中管理
|
|||
|
|
__VITE_ENV__: JSON.stringify(env),
|
|||
|
|
},
|
|||
|
|
};
|
|||
|
|
};
|