是否可以在.html文档中运行此JavaScript代码:
<script>
function DBConnect() {
var mysql = require('mysql');
var mydb = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'admin123',
database: 'users'
});
var username = user_name.value;
mydb.connect();
var query = ('select passwd from peer where username=' + username);
console.log(query);
connection.end(function(err) {
// The connection is terminated now
});
}
</script>
因为当我尝试总是出错时:未定义的“require”, 或者如何在其他f.e。:db.js中调用此函数? 我已经编写了从Node.js运行的脚本server.js,您认为上面的代码应该在这里运行吗?
答案 0 :(得分:5)
忽略所有人建议使用browserify。如果您对客户端 - 服务器体系结构有基本的了解,那么这将是有意义的,因此对browserify的局限性有直觉。你的问题的答案是
Node.js代码在服务器上运行。在您的代码中,您正在做一些无法在客户端上完成的事情。在尝试编写处理敏感信息的代码之前,您应该理解为什么。
答案 1 :(得分:2)
使用browserify,您可以在浏览器上运行一些Node.js模块,但是执行此类繁重I/O的模块无法在您的浏览器中运行。
所以不,你不能简单地使用这个Node.js代码并尝试在浏览器中运行它。您必须设计一个正确的客户端 - 服务器应用程序,服务器将对数据库进行所有访问。
您可以获得许多教程的解决方案可以是
你可以从google “json node.js ajax mysql”开始,但是你有很多面向你的学习。
答案 2 :(得分:2)
答案 3 :(得分:0)
您可能尝试在浏览器中执行Node.js JavaScript代码,但无法识别require
关键字。
要在浏览器中导入JavaScript文件,您应该使用以下内容:
<script src="path/to/your/JavaScript/file"></script>