我是使用Derby.js的新手,并使用yeoman generator-derby包构建了一个项目。我以为一切都很顺利,但我无法弄清楚我在这里做错了什么。
细分:
在我的app / index.js中,我导入此文件并按如下方式使用:
app.proto.submitWp = function() {
dbWp.createUser(this.model);
};
我从view / index.jade中调用此函数,如下所示:
button.btn.btn-primary(type="button", on-click="submitWp()")
在浏览器中,我收到很多console.error消息抱怨没有定义'fs'模块。经过大量的谷歌搜索,我发现这是由于Browserify忽略了'fs'模块,随后导致模块'mysql'和'needle'出现问题。但这意味着此代码正在浏览器中执行?
所以我的问题是:为什么要尝试在客户端端调用该函数?显然,如果它在服务器端执行,正如我认为的那样,就不会有需要这些模块的问题。
如何在服务器上执行此功能?如果以前使用express + socket.io工作正常,但想改变框架并给Derby.js一个镜头。
我显然误解了Derby.js应该如何运作;任何帮助,将不胜感激。谢谢!
答案 0 :(得分:0)
我知道这就像4个月后,但对DerbyJs来说也是新手,我想我可以尝试帮助。
我个人使用标准的html代码具有相同的功能。
<button on-click="editContact(#contact.id)">Edit Contact</button>
这确实在服务器上运行代码。您可以尝试用标准HTML编写代码,或者更好的是,看看您是否可以在服务器方法上执行console.log以查看它是否到达那里?
也许最好的方法是使用控制台日志调用服务器上的空函数,并检查浏览器控制台和服务器控制台。