移除 dog
大部分可执行的库都引入了 @qqi/log ,这样方便在真实使用环境或是开发中使用 pkg_name_dev=all
(在 windows 上可能需要使用 git Bash 启动)的环境变量来启动时能够展示日志判定错误的根源。但是在浏览器环境,希望不完全打印自定义的数据。所以需要使用该 babel 来移除
如果不想移除 console 的代码,你可能需要的是 transform-remove-console
安装
- npm
- yarn
- pnpm
npm install @qqi/babel-plugin-remove-dog-calls --save-dev
yarn add @qqi/babel-plugin-remove-dog-calls --dev
pnpm add @qqi/babel-plugin-remove-dog-calls --save-dev
使用
该项会在运行时拦截 dog
(通过 const dog = new Dog() 创建的)的正式环境的执行。可能会牵连其他非 @qqi/dev-log
创建的项
之前的示例使用的为 '.babelrc' 文件。但是, 其不支持使用动态,所以需要使用 'babel.config.js' 文件来定义 babel 设置。
export default function (api) {
api.cache(true);
// 根据当前的设定的变量来设定是否使用该插件
const isProduction = process.env.NODE_ENV === 'production';
return {
presets: [
'@babel/preset-env',
'@babel/preset-react',
'@babel/preset-typescript',
],
plugins: [
'@babel/plugin-proposal-class-properties',
process.env.NODE_ENV === 'production' &&
'@qqi/babel-plugin-remove-dog-calls',
].filter(Boolean),
};
}