如何实现SailsJS + Phonegap / Cordova应用程序

Ang*_*rov 1 node.js cordova sails.js ionic-framework

已经评论过: 如何将SailsJSSailsJS 的phonegap移动应用程序制作为Phonegap?,但没有找到真正的答案。我想实现一个项目,其中后端是SailsJS,前端是:1)Web客户端;2)PhoneGap客户端;

我看了看https://github.com/coderaven/sails-docs/blob/master/What-Is-Sails.md,其中提到了PhoneGap / Cordova的用法,但是,再一次-没有提供真实的示例。

因此,如果有人可以共享包括Sails和PhoneGap / Cordova的示例示例,或者至少共享一些示例代码,我将不胜感激。

Ang*_*rov 5

经过几天的研究和试验/失败后,让我分享对我有用的解决方案。我将答案分为两个部分:

  1. SailsJS

  2. PhoneGap /科尔多瓦

    • 创建您的PhoneGap项目。它将www在您的PhoneGap项目文件夹中生成文件夹。
    • www在当前的Sails项目中找到您的文件夹(请参见第1点),然后将其内容复制到PhoneGap www文件夹中。
    • www/index.html在关闭body标签之前,打开文件并添加以下代码:

        (function onLoad() {
          var io;
      
          Object.defineProperty(window, 'io', {
              get: function get() {
                  return io;
              },
              set: function set(value) {
                  var sails;
      
                  io = value;
                  // Immediately start connecting
                  var socket = io.connect(backendURL);
      
                  console.log('Connecting Socket.io to Sails.js...');
      
                  // Attach a listener which fires when a connection is established:
                  socket.on('connect', function socketConnected() {
      
                      console.log('Socket is now connected and globally accessible as `socket`.\n');
      
      
                      // set additional socket listeners here
                  });
      
      
                  Object.defineProperty(io, 'sails', {
                      get: function get() {
                          return sails;
                      },
                      set: function set(value) {
                          sails = value;
      
                          sails.url = 'backendUrl';
                      }
                  });
              }
          });
        })();
      
      Run Code Online (Sandbox Code Playgroud)

当然,不要忘记将其括在<script>标签中并为其设置适当的值backendUrl-这是您的SailsJS URL。

  • 编译您的PhoneGap项目并享受