node.js - 能不能把 "tedious"模块browserify一下,这样nodejs程序就可以在浏览器中运行了?

标签 node.js azure-sql-database browserify

我是 Node.js 的初学者,我目前正在构建一个 Node.js 程序,该程序使用“乏味”模块(参见下面的代码)访问和查询 Microsoft Azure SQL 数据库,并将数据放入 html网页。我想在浏览器中运行这段代码,所以我使用 browserify 将模块捆绑在一起。但是,这段代码在谷歌浏览器中运行时,会返回如下错误:require is not defined。有解决办法吗?甚至可以在 Chrome 中使用繁琐的模块吗?如果不可能,我是否需要在 Node.js 应用程序和网页之间使用中间服务器?

var Connection = require('tedious').Connection;  
var config = {  
    userName: 'hackmatch',  
    password: 'hackvalley123!',  
    server: 'hackmatch.database.windows.net',  
    options: {encrypt: true, database: 'AdventureWorks'}  
};  
var connection = new Connection(config);  
connection.on('connect', function(err) {  
    // If no error, then good to proceed.  
    console.log("Connected");  
});  

var Request = require('tedious').Request;  
var TYPES = require('tedious').TYPES;

在此先感谢您的帮助! :)

最佳答案

没有。该模块只能在 Node 中使用。

繁琐依赖于 node.js net 模块来连接到数据库服务器。此模块在浏览器上没有等效项,因为网页无法建立任意网络连接。

即使可以在浏览器中使用这个模块,这也是一个糟糕的主意。您将允许网站上的任何人直接连接到您的 SQL 服务器并运行 SQL 查询。 This can only end badly.

关于node.js - 能不能把 "tedious"模块browserify一下,这样nodejs程序就可以在浏览器中运行了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41528190/

相关文章:

javascript - 将 ng-include 用于原始(或编译)HTML 还是模板 URL?

javascript - YouTube使用 Node js自动上传

javascript - setTimeout() 在忽略间隔的情况下重复调用函数

node.js - 使用 Dialogflow REST API V2 自动注释训练短语,同时批量更新它们

c++ - 我可以将 should.js 与 QtScript 一起使用吗?

browserify - 如何防止 browserify 包含多个版本的子依赖项?

sql-server - 给定 Azure 中 SQL 数据库上的 SQL 查询的查询 ID,是否有办法返回并跟踪谁发起了查询?

sql - 大传感器数据最佳选择。表 SQL 与 Azure 表

bash - REST API 调用以从 Azure 获取 SQL 数据库列表

javascript - 从 html 文件执行 Nodejs 脚本