在Node.js局域网调试https的Vue项目

需求:

        最近在测试在网页端(HTML5)调用移动设备的定位等权限功能,发现某些功能是必须保证域名在https下的否则会出现不正常现象。

解决:

1.在线生成和证书
访问:CSR文件生成工具-中国数字证书CHINASSL
        填写好之后点生成即可,我们可以下载到两个文件。
        这里我的域名是192.168.3.151,得到192.168.3.151_csr.txt192.168.3.151_key.txt这两个文件(妥善保存)。

        然后再访问:自签名免费SSL证书签发-中国数字证书CHINASSL
        把192.168.3.151_csr.txt文件里的内容粘贴到代码框里,点获取免费证书之后可以下载到一个192.168.3.151_ssl.crt文件。

2.配置Node.js
参考Node.js配置源,确保已经配置好npm了。

安装express、fs、https模块:【必须】

npm install express --save
npm install fs --save
npm install https --save

安装express模块的相关依赖(可选):

npm install body-parser --save
npm install cookie-parser --save
npm install multer --save

安装完成后可以查看express的版本号:

npm list express

3.拷贝相关文件


192.168.3.151_key.txt192.168.3.151_ssl.crt(名字可能不同,但是格式是这样的)复制到你服务器程序同级目录下,比如我的目录就这三个文件:

192.168.3.151_key.txt
192.168.3.151_ssl.crt
app.js

app.js

//导入模块
const fs = require('fs')// 文件输入输出,用来导入证书        
const https = require('https')// https服务器  
const express = require('express')// express模块导入
 
//读取证书
const privateKey = fs.readFileSync('192.168.3.151_key.txt', 'utf8')
const certificate = fs.readFileSync('192.168.3.151_ssl.crt', 'utf8')
 
// 创建 express 应用
const app = express()
// 监听 / 路径的 get 请求
app.get('/', function(req, res) {
  res.send('Hello Word!')
})
 
 
const credentials = { key: privateKey, cert: certificate }
const httpsServer = https.createServer(credentials, app)
const SSLPORT = 8080
httpsServer.listen(SSLPORT, function() {
  console.log('HTTPS 服务器已运行在: https://192.168.3.151:%s', SSLPORT)
})

使用Node.js运行app.js

在VSCode中新建一个终端,然后指定到当前的项目根目录,前提是这个项目已经是个完整功能的Vue项目,输入node app.js。提示运行在某个地址 说明已经成功启动https服务器。

然后在vue.config.js中加入一些代码:配置好主机端口和本地地址,https设为true

然后再新建一个终端,用于启动我们的Vue项目:

如果无报错,则会成功启动,域名变成了设置的localhost地址,端口号变成了8081,直接访问该地址,显示如下图页面类似就成功了,地址是借来的,凑合看吧。类似安全提示需点击继续访问即可。

设置信任这个证书就可以了~

<think>好的,用户想在Vue2项目中集成并使用vConsole进行手机端日志调试。首先,我需要回顾一下vConsole的基本使用方法,然后结合Vue2的特点来思考如何集成。 根据引用[1]和[2],vConsole是一个用于移动端调试的工具,可以通过npm安装并在代码中引入。用户之前可能已经了解过基本步骤,现在需要具体的Vue2集成方法。我需要确保步骤清晰,包括安装、引入、初始化和可能的配置。 首先,安装部分,用户需要使用npm或者yarn安装vconsole包。然后,在Vue项目中引入。通常在Vue2中,可能会在main.js文件里进行全局配置,这样vConsole会在整个应用启动时初始化。但要注意,生产环境不应该包含调试工具,所以可能需要环境判断。 引用[4]中的示例是在HTML文件中直接引入JS,但Vue项目通常使用模块化的方式,所以应该采用npm安装的方式。同时,引用[3]提到在微信生态中的使用,可能用户有特定的环境需求,但这里应该保持通用。 接下来,初始化vConsole的代码应该放在哪里?在Vue的入口文件main.js中引入并实例化是一个合理的选择。但需要考虑只在开发环境下启用,可以通过process.env.NODE_ENV判断。这样能避免生产环境加载vConsole,影响性能。 然后,用户可能需要配置vConsole的选项,比如默认开启的插件、日志数量限制等。根据引用[1]和[3],可以配置defaultPlugins和onReady回调函数。这部分需要给出示例代码,并说明各个配置项的作用。 另外,用户可能关心如何验证vConsole是否成功集成。需要指导他们如何构建项目并在手机端查看调试面板,比如通过npm run build然后部署到服务器或用真机访问本地开发服务器。 还有可能出现的问题,比如vConsole未显示,这时候需要检查是否在正确的环境下引入,或者是否有其他脚本冲突。另外,生产环境打包时需要排除vConsole,可以通过Webpack的externals或条件判断来处理。 最后,生成相关问题时要围绕集成步骤、配置选项、环境区分以及常见问题排查等方面,帮助用户进一步了解相关知识点。</think>### 分步指南:Vue2集成vConsole调试工具 --- #### **1. 安装vConsole** 在Vue2项目根目录下通过npm安装: ```bash npm install vconsole --save-dev ``` --- #### **2. 全局引入并初始化** 在`src/main.js`中添加以下代码,**仅限开发环境启用**: ```javascript import Vue from 'vue' import App from './App.vue' // 仅在开发环境下启用vConsole if (process.env.NODE_ENV === 'development') { const VConsole = require('vconsole') new VConsole({ defaultPlugins: ['system', 'network', 'element'], // 默认开启核心插件[^1] onReady: () => console.log('vConsole已就绪'), // 初始化回调[^3] maxLogNumber: 500 // 限制日志数量避免内存问题[^2] }) } new Vue({ render: h => h(App) }).$mount('#app') ``` --- #### **3. 验证调试功能** 1. **本地运行**: ```bash npm run serve ``` 2. **手机访问**: - 确保手机与电脑在同一局域网 - 通过IP地址访问开发服务器(如`http://192.168.x.x:8080`) - 页面右下角会出现绿色vConsole图标,点击可查看日志、网络请求等[^4] --- #### **4. 生产环境自动排除** 通过Webpack环境变量控制打包: ```javascript // vue.config.js module.exports = { configureWebpack: config => { if (process.env.NODE_ENV === 'production') { config.externals = { vconsole: 'VConsole' // 生产环境排除vConsole[^1] } } } } ``` --- #### **5. 高级配置示例** 自定义网络请求监控: ```javascript new VConsole({ plugins: [ new VConsole.VConsoleNetworkPlugin({ logRequestHeaders: true, // 记录请求头 logResponseHeaders: true // 记录响应头 }) ] }) ``` --- #### **常见问题排查** | 现象 | 解决方案 | |---------------------|---------------------------------| | 手机端不显示vConsole | 检查`process.env.NODE_ENV`是否生效 | | 网络请求未记录 | 确保`network`插件已启用[^1] | | 日志过多导致卡顿 | 设置`maxLogNumber`限制数量[^3] | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值