【发布时间】:2015-02-14 17:58:33
【问题描述】:
我是使用 Derby.js 的新手,并且已经使用 yeoman generator-derby 包搭建了一个项目。我以为一切都很好,但我不知道我在这里做错了什么。
细分:
- 我有一个“app/dbWp.js”控制器,它可以导出多个函数,并且需要模块“mysql”、“async”和“needle”
-
在我的 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”出现问题。但这意味着这段代码正在浏览器中执行?
所以我的问题是:为什么要在 client 端调用函数?显然,如果它在 server 端执行,正如我所想的那样,需要这些模块不会有问题。
如何在服务器上执行这个功能?之前使用 express + socket.io 可以正常工作,但想更改框架并尝试 Derby.js。
我显然误解了 Derby.js 的工作原理;任何帮助,将不胜感激。谢谢!
【问题讨论】:
标签: node.js browserify derbyjs