当前位置: 首页 > ds >正文

项目 react+taro 编写的微信 小程序,什么命令,可以减少console的显示

在 Taro 项目中,为了减少 console 的显示(例如 console.log、console.info 等),可以通过配置 terser-webpack-plugin 来移除生产环境中的 console 调用。

配置步骤:
修改 index.js 文件
在 mini.webpackChain 中添加 terser-webpack-plugin 配置:

const config = {projectName: 'taro-react',date: '2025-5-10',designWidth: 750,deviceRatio: {640: 2.34 / 2,750: 1,828: 1.81 / 2},sourceRoot: 'src',outputRoot: 'dist',plugins: [],defineConstants: {},copy: {patterns: [],options: {}},framework: 'react',compiler: 'webpack5',cache: {enable: false},mini: {webpackChain(chain) {// 生产环境移除 consoleif (process.env.NODE_ENV === 'production') {chain.optimization.minimize(true);chain.plugin('terser').use(require('terser-webpack-plugin'), [{terserOptions: {compress: {drop_console: true, // 移除所有 consoledrop_debugger: true // 移除 debugger}}}]);}}},h5: {publicPath: '/',staticDirectory: 'static',postcss: {autoprefixer: {enable: true,config: {}}}}
};module.exports = function (merge) {if (process.env.NODE_ENV === 'development') {return merge({}, config, require('./dev'));}return merge({}, config, require('./prod'));
};

构建生产环境代码
使用以下命令构建生产环境代码:
pnpm build:weapp --mode production
在 Taro 项目中,为了减少 console 的显示(例如 console.logconsole.info 等),可以通过配置 terser-webpack-plugin 来移除生产环境中的 console 调用。

配置步骤:

  1. 修改 index.js 文件
    mini.webpackChain 中添加 terser-webpack-plugin 配置:

    const config = {projectName: 'taro-react',date: '2025-5-10',designWidth: 750,deviceRatio: {640: 2.34 / 2,750: 1,828: 1.81 / 2},sourceRoot: 'src',outputRoot: 'dist',plugins: [],defineConstants: {},copy: {patterns: [],options: {}},framework: 'react',compiler: 'webpack5',cache: {enable: false},mini: {webpackChain(chain) {// 生产环境移除 consoleif (process.env.NODE_ENV === 'production') {chain.optimization.minimize(true);chain.plugin('terser').use(require('terser-webpack-plugin'), [{terserOptions: {compress: {drop_console: true, // 移除所有 consoledrop_debugger: true // 移除 debugger}}}]);}}},h5: {publicPath: '/',staticDirectory: 'static',postcss: {autoprefixer: {enable: true,config: {}}}}
    };module.exports = function (merge) {if (process.env.NODE_ENV === 'development') {return merge({}, config, require('./dev'));}return merge({}, config, require('./prod'));
    };
    
  2. 构建生产环境代码
    使用以下命令构建生产环境代码:

    pnpm build:weapp --mode production
    

    或者,如果你使用的是 npm/yarn:

    npm run build:weapp --mode production
    # 或
    yarn build:weapp --mode production
    
  3. 效果

    • 生产环境中,所有 console.logconsole.infoconsole.debug 等调用都会被移除。
    • console.warnconsole.error 不会被移除(用于调试和错误追踪)。
    • debugger 语句也会被移除。

注意事项:

  • 确保 terser-webpack-plugin 已安装(Taro 默认会安装)。

  • 在开发环境中,console 调用仍然会保留,方便调试。

  • 如果需要移除所有类型的 console,可以在 terserOptions.compress 中添加更多配置,例如:

    compress: {drop_console: true,drop_debugger: true,pure_funcs: ['console.log', 'console.info', 'console.debug', 'console.warn', 'console.error']
    }
    

Similar code found with 2 license types

http://www.xdnf.cn/news/9033.html

相关文章:

  • 基于Qlearning强化学习的二阶弹簧动力学模型PID控制matlab性能仿真
  • RFID工业读写器的场景化应用选型指南
  • redis缓存-更新策略-三大缓存问题
  • 黑马点评--缓存更新策略及案例实现
  • 计算机网络学习20250526
  • 【愚公系列】《生产线数字化设计与仿真》004-颜色分类站仿真(基础概念)
  • 运动规划实战案例 | 图解基于状态晶格(State Lattice)的路径规划(附ROS C++/Python仿真)
  • LVGL(lv_keyboard键盘)
  • 青少年编程与数学 02-020 C#程序设计基础 04课题、常量和变量
  • 【Linux 学习计划】-- 进程概念与本质 | pid ppid | 进程创建与多进程(fork)
  • 系统发生GC内存溢出、频繁 Full GC、JVM报错
  • 深入Linux网络栈:套接字接口工作机制与端到端通信开发
  • 05-jenkins学习之旅-vue前项目部署实践
  • HTTP与HTTPS网络原理(7000+字详解)
  • Go语言中常量的命名规则详解
  • 获取 Stream 对象的方式
  • 【C++进阶篇】红黑树的封装(赋源码)
  • md650透传
  • 字节跳动2025年校招笔试手撕真题教程(二)
  • Spyglass:目标文件(.spq)的结构
  • 汉诺塔超级计算机数据区结构和源代码详细设计
  • vue3组件--无限滚动效果
  • 算法题(155):线段覆盖
  • ADSY1100系统级模块(SOM)4 Tx/4 Rx, 0.1 GHz to 20 GHz
  • 【Java】多线程_创建线程的四种方式
  • 【测试】——AS/400快速入门
  • 可编程幻彩LED灯条的设计
  • Python文件操作完全指南
  • 【TypeScript】结构化类型系统与标明类型系统
  • Linux 内核学习(8) --- 字符设备操作函数