【问题标题】:Titanium ACS issue钛 ACS 问题
【发布时间】:2015-03-20 23:31:01
【问题描述】:

尝试使用 Titanium Studio 创建 ACS 服务器。仿效pixgrid(https://github.com/appcelerator/pixgrid/)的例子,但是尝试在本地运行时总是报错;控制台输出:

[INFO] 安装依赖...

[INFO] 已安装依赖项。

[INFO] socket.io 已启动

[错误] 发生错误。 TypeError:无法调用未定义的方法“init” 在 Object.start (/app.js:8:7)

app.js 列表:

var ACS = require('acs').ACS,
    logger = require('acs').logger,
    express = require('express'),
    partials = require('express-partials');

// initialize app (setup ACS library and logger)
function start(app) {
  ACS.init('***', '***');
  logger.setLevel('DEBUG');

  //use connect.session
  app.use(express.cookieParser());
  app.use(express.session({ key: 'node.acs', secret: "secret" }));

  //set favicon
  app.use(express.favicon(__dirname + '/public/images/favicon.ico'));

  //set to use express-partial for view
  app.use(partials());

  //Request body parsing middleware supporting JSON, urlencoded, and multipart
  app.use(express.bodyParser());
}

// release resources
function stop() {

}

当然,我在 *** 有我的 OATH 密钥和秘密。从命令行运行时相同(acs run)。

我正在运行 Titanium Studio,构建 3.4.1.201410281727。

但是,我可以发布服务,然后从云中运行它而不会出现任何问题。对于开发来说,这并不理想,所以想在本地运行它(本地 node.ACS 服务器)。

我想肯定是安装位置(仅使用默认值)或权限有问题。任何人都知道如何解决这个问题?现在已经花了几个小时搜索互联网,但似乎是唯一一个遇到这个确切问题的人。不知道还能尝试什么。 感谢您阅读本文。如果您需要更多信息来帮助我,请告诉我。

【问题讨论】:

  • 同样的问题,两个月前运行良好的项目,没有任何变化,现在无法运行(与您相同的错误)。我记得唯一改变的是从 3.4GA 升级到 3.5GA。你找到解决办法了吗?

标签: titanium


【解决方案1】:

好的,我发现了问题。他们在上次升级中改变了使用 ACS 的方式。

经典模式是:

var ACS = require('acs').ACS;
ACS.init('<ACS Key>', '<ACS secret');

现在他们改变了它,ACS 是一个“模块”,就像任何其他模块一样,所以你必须使用新的方式。在 package.json 文件中将其添加为依赖项:

"dependencies": {
    "acs-node": ">=0.9.2"
}

安装它:npm install acs-node

现在您可以在 app.js 文件中以新格式使用它:

var ACS = require('acs-node');
ACS.init('<App Key>');

这里都有解释:http://docs.appcelerator.com/cloud/latest/#!/guide/node_acs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多