Node.js - 如何在express下的公用文件夹中导入依赖模块

时间:2012-08-03 04:10:02

标签: node.js express

我使用命令“express -e sample”创建了一个简单的node.js项目。

我在/ public目录下有我的javascript,css文件,在视图下有ejs文件,我的server.js在根目录下。

我创建了一个表单页面,当用户提交它时,我在我的一个js文件中调用一个函数,该文件位于/ public / javascripts下。

一切都很完美。我现在想将表单输入保存到我的数据库(mysql)所以我试图获取mysql但它失败了。警告声明表示该对象未定义。

var database = require('mysql').Client;

然而,相同的命令在server.js中工作正常。它打印我的数据库属性。

1 个答案:

答案 0 :(得分:1)

<input type="submit" onclick="processFormData();"/>是用户单击按钮后在客户端(在浏览器中)调用processFormData();函数的代码。

因此,var database = require('mysql').Client;也在客户端上执行。

显然,浏览器中没有require;即使浏览器中有requiremysql库,您可能仍希望从服务器而不是从客户端(不向客户端发送数据库凭据)对DB进行更改。

为了做到这一点,你应该:

  1. 删除onclick处理程序并让用户提交表单;
  2. 在服务器上,处理提交的表单数据并使用DB执行任何操作。
  3. 或者,如果您想使用当前的“一次编写,随处运行”方法,您可能会对其他平台感兴趣,例如MeteorOPA language