只在客户端执行的钩子(如mounted
)中打印:
export default {
mounted() {
console.log('仅在客户端显示', this.$route.path)
}
}
使用process.client
判断当前环境:
if (process.client) {
console.log('客户端环境变量:', process.env.NODE_ENV)
// 可在此处访问window对象
window.alert('客户端弹窗')
}
plugins/client-logger.js
export default ({ app }, inject) => {
if (process.client) {
const logger = {
log: (msg) => console.log('[客户端日志]', msg)
}
inject('clog', logger)
}
}
nuxt.config.js
export default {
plugins: [
{ src: '~/plugins/client-logger.js', mode: 'client' }
]
}
this.$clog('通过插件打印的日志')
创建仅客户端执行的文件:
utils/logger.client.js
export const clientLog = (msg) => {
console.log('️ 客户端日志:', msg)
}
import { clientLog } from '~/utils/logger.client'
clientLog('通过.client.js打印')
浏览器开发者工具:
.nuxt/dist/client
目录下的源码debugger
语句主动触发断点Vue Devtools:
// 在组件中输出组件状态
this.$log() // 需要安装vue-devtools
debug
库并配置环境变量控制输出window
/document
对象nuxt.config.js
中配置:export default {
build: {
terser: {
terserOptions: {
compress: {
drop_console: process.env.NODE_ENV === 'production'
}
}
}
}
}
通过这些方法,您可以安全地在Nuxt客户端环境中灵活输出调试信息。建议根据实际需求选择最适合的方案。