[英]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/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.