我是使用 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”出现问题。但这意味着这段代码正在浏览器中执行?
所以我的问题是:为什么要在客户端调用该函数?显然,如果它像我想的那样在服务器端执行,那么需要这些模块就不会有问题。
如何在服务器上执行此功能?之前使用 express + socket.io 可以正常工作,但想更改框架并给 Derby.js 一个机会。
我显然误解了 Derby.js 应该如何工作;任何帮助,将不胜感激。谢谢!