繁体   English   中英

在Titanium应用程序中使用node.js模块?

[英]Use node.js module in a Titanium app?

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

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

我遇到错误,说Titanium无法找到模块。

我用于包括的代码是

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

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

谢谢

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

此模块很可能对您不起作用。 它具有许多依赖关系,这些依赖关系使用NodeJS特定的模块和特定的API。

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

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

您可以尝试使用此模块https://github.com/smclab/titaniumifier

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

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

请注意,依赖于本机节点模块的软件包可能会遇到问题。

当然,为什么不能呢?

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

1.安装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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM