Node.js &引用;“未定义fs”;如何在VueJS文件中使用fs

Node.js &引用;“未定义fs”;如何在VueJS文件中使用fs,node.js,vue.js,socket.io,openssl,fs,Node.js,Vue.js,Socket.io,Openssl,Fs,我一直在网上进行研究,许多其他人也遇到了类似的问题,这些问题没有得到解决 为什么我不能在VueJS文件中使用fs,我读到它不能在客户端调用,但是它在文档中使用,那么我做错了什么 socket.js文件: const fs = require('fs'); var https = require('https').createServer(app, { key: fs.readFileSync('server-key.pem'), cert: fs.readFileSync('ser

我一直在网上进行研究,许多其他人也遇到了类似的问题,这些问题没有得到解决

为什么我不能在VueJS文件中使用fs,我读到它不能在客户端调用,但是它在文档中使用,那么我做错了什么

socket.js文件:


const fs = require('fs');

var https = require('https').createServer(app, {
  key: fs.readFileSync('server-key.pem'),
  cert: fs.readFileSync('server-cert.pem'),
  passphrase: ''
});

import io from 'socket.io-client';

const socket = io('my_public_ip:port', {
  ca: fs.readFileSync('server-cert.pem'),  //unable to read fs here
});
chat.js文件:


const fs = require('fs');

var https = require('https').createServer(app, {
  key: fs.readFileSync('server-key.pem'),
  cert: fs.readFileSync('server-cert.pem'),
  passphrase: ''
});

import io from 'socket.io-client';

const socket = io('my_public_ip:port', {
  ca: fs.readFileSync('server-cert.pem'),  //unable to read fs here
});

fs是Node.js中的一个模块,由于安全原因,浏览器不支持禁止直接文件系统操作。

在我看来,这是对“客户端”概念的误解:

  • “客户端”,用套接字术语来说,可以是能够连接到套接字服务器的任何软件(例如:服务器、浏览器、移动应用程序、游戏…)

  • 用套接字术语来说,“服务器”是负责接受连接、收集客户端的代理

根据模块(fs)本身,它在浏览器环境中不起作用,因为它依赖于Node.js核心,该核心捆绑在Node.js安装包中,仅在Node.js服务器上可用

在浏览器端,要连接到安全(https)套接字服务器,只需在连接时设置
secure
参数,如下所示:

const socket = io.connect('my_public_ip:port', { secure: true });

是否有其他方式对此申请证书?或者如果我的域有SSL,我甚至需要这个吗?使用https,我会得到一个控制台错误
gethttps://public_ip:port/socket.io/?EIO=3&transport=polling&t=N3gvsj1 net::ERR\u SSL\u VERSION\u或\u CIPHER\u不匹配
且与http不匹配
http:/public\u ip:port/socket.io/?EIO=3&transport=polling&t=N3guku9 net::ERR\u EMPTY\u RESPONSE