簡體   English   中英

在Derby.js上從客戶端調用服務器端代碼

[英]Calling server-side code from client on Derby.js

我是新手使用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應該如何工作; 任何幫助,將不勝感激。 謝謝!

我知道這就像4個月后,但對DerbyJs來說也是新手,我想我可以試着幫忙。

我個人用標准的html代碼有相同的工作。

<button on-click="editContact(#contact.id)">Edit Contact</button>

這確實在服務器上運行代碼。 你可以嘗試用標准HTML編寫代碼,或者更好的是,看看你是否可以在服務器方法上執行console.log來查看它是否到達那里?

也許最好的方法是使用控制台日志調用服務器上的空函數,並檢查瀏覽器控制台和服務器控制台。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM