javascript - 使用 NPM 模块和 browserify 与 JS 和浏览器的节点关系
问题描述
我是新的 StackOverflow 用户,我开始学习编程的后端。
我主要使用 JS 客户端,所以后端有一些我需要澄清的事情。
我对 Node 及其与浏览器的连接有疑问,即使使用 browserify。
我知道浏览器不是 Node 的环境,但我需要使用它,因为我需要了解它的一些小细节。
问题是,即使我使用 browserify 来绑定几个 npm 模块,每次我尝试要求 MySQL 或 HTTP 或 Express 时,都会发生错误。
如果我使用 require('http') 和/或 require('express') 会发生此错误: TypeError: http.ServerResponse is undefined;
相反,如果我使用 require('mysql') 会发生此错误:TypeError: Net.createConnection is not a function
我的问题是:
- 我该如何解决这个问题?
- 这些是相对于 browserify 的错误,或者如果没有它,它们会是相同的,使用与浏览器不同的环境?
我不喜欢直接的解决方案,而是在必要时对代码进行解释。
非常感谢您提前
解决方案
诸如mysql
需要低级网络接口的模块。http
是对该网络接口的抽象。所以你真的需要net
模块,它在浏览器环境中根本不可用。
Browserify 只是一个半 nodejs 环境。它模拟了一些可以在浏览器中填充的模块。
你应该安装 Node.js这样运行你的程序
node your_script.js