Awesome
vite-plugin-removelog
生产环境下移除 console
的 vite
插件
动机 🦒
不希望开发时的日志在生产环境下被人看到
<br /> <br /> <br />特性 🦖
- 支持
.js
,.ts
,.jsx
,.tsx
,.vue
使用 🦕
安装
npm i vite-plugin-removelog -D
<br />
<br />
配置
// vite.config.js
import Removelog from "vite-plugin-removelog";
export default defineConfig({
plugins: [Removelog()],
});
<br />
包含
// vite.config.js
import Removelog from "vite-plugin-removelog";
export default defineConfig({
plugins: [
Removelog({
// 默认包含 log,warn,error
include: ["log", "warn"],
}),
],
});
<br />
规范
可以通过 normalize
来自定义哪些模块需要被作用
// vite.config.js
import Removelog from "vite-plugin-removelog";
export default defineConfig({
plugins: [
Removelog({
// 返回 Truthy 时,模块被将作用
normalize(id) {
return /(\.vue|\.[jt]sx?)$/.test(id);
},
}),
],
});
<br />
忽略 node_modules
可以通过 ignoreNodeModules
忽略 node_modules
包的处理
// vite.config.js
import Removelog from "vite-plugin-removelog";
export default defineConfig({
plugins: [
Removelog({
// 默认为 true
ignoreNodeModules: true,
}),
],
});
<br />
<br />
原理
该插件不传入 normalize
时由 vite 内置的
esbuild 进行转换,当传入 normalize
时,则为
gogocode 进行转换。
gogocode 实现的转换也是导出的 👇
import { gogocodeRemovelog } from "vite-plugin-removelog";
const code = `
const foo = 1
console.log("foo")
`;
const dest = gogocodeRemovelog(code);
console.log(dest); // const foo = 1
<br />
<br />
组织 🦔
欢迎关注 帝莎编程
<br /> <br /> <br />License
Made with markthree
Published under MIT License.
<br />