【问题标题】:Use node.js module in a Titanium app?在 Titanium 应用程序中使用 node.js 模块?
【发布时间】:2014-05-21 16:52:31
【问题描述】:

目前我正在编写一个用于测试的小型 Titanium 应用程序。我需要包含一个从 NPM 到钛的模块。

在这种情况下,我正在尝试使用 https://github.com/oortcloud/node-ddp-client

我遇到错误提示 Titanium 找不到模块。

我用于包含的代码是

var DDPClient = require("./lib/node_modules/ddp");

我可以在 Titanium 中使用 node.js 模块吗?

谢谢

【问题讨论】:

    标签: javascript node.js titanium


    【解决方案1】:

    require('./lib/node_modules/ddp/lib/ddp-client.js');

    这个模块很可能不适合你。它有很多使用 NodeJS 特定模块和特定 API 的依赖项。

    幸运的是,有人已经编写了一个模块来使用 DDP 连接到 Meteor 服务器(顺便说一句,我恳求完全不了解这个协议和堆栈):

    https://github.com/yubozhao/Ti.Meteor

    【讨论】:

      【解决方案2】:

      你可以试试这个模块https://github.com/smclab/titaniumifier

      从 Node 包中获取 Titanium™ SDK CommonJS 模块!

      【讨论】:

      • 欢迎。这个答案很简短,也许您可​​以提供更多细节,例如示例?
      【解决方案3】:

      Titanium 现在部分支持 npm 模块:http://docs.appcelerator.com/platform/latest/#!/guide/Node.js_Support

      对于 Alloy 项目,请在 app/lib 中执行 npm install 命令,以便将您的包存储在 app/lib/node_modules 中。

      对于非合金项目,请将您的 npm 安装在 Resources/ 中,以便您的包存储在 Resources/node_modules 中。

      请注意,依赖本机节点模块的包可能会出现问题。

      【讨论】:

      • 你知道如何添加原生节点模块吗?
      【解决方案4】:

      当然,为什么不能?

      这是一个在 Alloy 项目中使用节点模块的示例:

      1.install q.js,它将创建一个名为“node module”的文件夹并包含一些文件:

      $ npm install q
      $ find node_module
      node_modules/
      node_modules/q
      node_modules/q/README.md
      node_modules/q/queue.js
      node_modules/q/package.json
      node_modules/q/q.js
      node_modules/q/LICENSE
      

      2.将 q.js 复制到您的 app/lib/ 文件夹:

      $ mkdir app/lib
      $ cp node_modules/q/q.js app/lib
      

      3. 在您的 Titanium 文件中声明它:

      // in app/alloy.js
      Q = require('q')
      

      4.在你的控制器中使用它:

      // app/controllers/index.js:
      var defer = Q.defer();
      

      参考:http://developer.appcelerator.com/question/154529/how-to-use-nodejs-modules-with-titanium#answer-285207

      【讨论】:

      • 我已经安装了node模块并复制到了项目中,但是还是不行。我已经安装了节点模块request.js 并将其复制到app/lib 文件夹,现在构建抛出错误module not found - http.js,模块请求.js 本身使用http.js,我必须安装所有依赖项吗?
      猜你喜欢
      • 2012-02-16
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多