欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > Nuxt3 - 如何在生产环境中移除 console.log

Nuxt3 - 如何在生产环境中移除 console.log

2025/3/19 8:23:26 来源:https://blog.csdn.net/qq_33256701/article/details/146350801  浏览:    关键词:Nuxt3 - 如何在生产环境中移除 console.log

nuxt3 默认使用vite,可以使用vite的相关配置移除。

首先设置环境变量:

.env.test 中:

NUXT_ENV = test

.env.production 中:

NUXT_ENV = production

在nuxt.config.ts中配置:

  vite: {esbuild: {drop: ['debugger'],pure: process.env.NUXT_ENV === 'production' ? ['console.log'] : [], // Use NUXT_ENV to distinct between test and production},},

    如何在本地测试:

    使用打包运行命令:

    // package.json 中"scripts": {"build": "npx nuxi build --dotenv .env.test","build:pro": "npx nuxi build --dotenv .env.production","start": "node .output/server/index.mjs",},

    测试 test 环境 command:

    npm run build
    npm run start

    测试 production 环境 command:

    npm run build:pro
    npm run start

    注意项:

    1. 这里使用自己命名的变量NUXT_ENV来区分测试和生产环境,不要用特殊变量NODE_ENV,因为对于打包上线后NODE_ENV的值都是production;

    2. nuxt中自己命名的变量最好都要以NUXT_ 前缀的格式命名,以防止后续改动需要修改多处。比如一些敏感变量不能放在客户端时,要放在服务端中

    3. 区分nuxt.config.ts文件中log配置解释:

      ① logLevel 

      logLevel 配置项是用于控制构建日志的级别的。它的默认值是 "info",并且在 CI 环境或非 TTY 环境下默认为 "silent"

      然而,logLevel 并不直接影响 console.log 的输出。console.log 是一个 Node.js 的全局对象,用于输出日志信息到控制台。logLevel 只是控制 Nuxt 构建过程中的日志输出级别,而不会影响应用代码中的 console.log 语句。

      官网解释:Nuxt Configuration

      ② features下的 devLogs

      devLogs 是一个 Nuxt.js 配置选项,用于控制开发环境中日志的输出。

      当 devLogs 设置为 true 时,Nuxt.js 会输出更多的调试日志信息,包括服务器启动日志、请求日志、错误日志等。这可以帮助开发人员调试应用程序。

      具体来说,devLogs 会影响以下日志输出:

      服务器启动日志:当 devLogs 为 true 时,Nuxt.js 会输出服务器启动日志,包括服务器地址、端口号等信息。
      请求日志:当 devLogs 为 true 时,Nuxt.js 会输出每个请求的日志信息,包括请求方法、URL、状态码等。
      错误日志:当 devLogs 为 true 时,Nuxt.js 会输出错误日志信息,包括错误消息、堆栈跟踪等。
      默认情况下,devLogs 是禁用的(即 false)

      官网解释:Nuxt Configuration

    版权声明:

    本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

    我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

    热搜词