当你希望使用 vconsole,并且希望在生产环境使用,并且还不希望正常用户看到,并且还不希望占用正常用户加载速度或者加载的 js 体积时,你可能用得上
-
可以帮助你快捷的引入 vconsole 以方便进行移动端的调试
-
当你需要线上环境调试时只需要添加固定参数,即可动态加载并开启 vconsole,eg:http://baidu.com?enable_console=1
-
普通用户并不会开启,并且是动态引入,不会给普通用户增加额外的 js 文件体积(vconsole 会被单独打包、但用户默认不会加载)
支持以下配置:
{
// 生产环境带有哪个参数字段时需要开启 默认为 enable_console
field?: string;
// 是否构建阶段 默认为false
isBuild?: boolean;
// 是否开启vconsole,有些时候开发环境不需要开启、需要自定判断 默认为 true
enabled?: boolean;
// 注入的入口文件 默认为:src/main.ts
entry?: string | string[];
// vconsole的配置 默认空
config?: Object;
}
使用 npm / yarn / pnpm
npm i vconsole
npm i unplugin-auto-vconsole -D
Vite
// vite.config.ts
import unpluginVconsole from "unplugin-auto-vconsole/vite";
// 当需要更细致的决定是否需要启动vconsole时
function vconsoleEnabled() {
if (isBuild) {
return true;
} else {
return true;
}
}
export default defineConfig({
plugins: [
unpluginVconsole({
field: "enable_console",
isBuild: command === "build",
entry: resolve("src/main.ts"),
enabled: vconsoleEnabled(),
config: { theme: "dark" },
}),
],
});
Example: playground/
Rollup
// rollup.config.js
import unpluginVconsole from "unplugin-auto-vconsole/rollup";
export default {
plugins: [
unpluginVconsole({
isBuild: command === "build",
entry: resolve("src/main.ts"),
}),
],
};
Webpack
// webpack.config.js
module.exports = {
/* ... */
plugins: [
require("unplugin-auto-vconsole/webpack")({
isBuild: command === "build",
entry: resolve("src/main.js"),
}),
],
};
Nuxt
// nuxt.config.js
export default {
buildModules: [
[
"unplugin-auto-vconsole/nuxt",
{
isBuild: command === "build",
entry: resolve("src/main.js"),
},
],
],
};
This module works for both Nuxt 2 and Nuxt Vite
Vue CLI
// vue.config.js
module.exports = {
configureWebpack: {
plugins: [
require("unplugin-auto-vconsole/webpack")({
isBuild: command === "build",
entry: resolve("src/main.js"),
}),
],
},
};
esbuild
// esbuild.config.js
import { build } from "esbuild";
import unpluginVconsole from "unplugin-auto-vconsole/esbuild";
build({
plugins: [
unpluginVconsole({ isBuild: command === "build", entry: "src/main.js" }),
],
});