npm install web3 到 Appcelerator Titanium SDK > 6.x

npm install web3 into Appcelerator Titanium SDK > 6.x

我想将 web3 安装到我的移动应用程序项目中。

但是我在访问它时遇到了问题,没有一堆红屏说我无法访问其中的这些文件。我尝试手动更新路径等;

我所做的是在我的 App 文件夹中:npm install web3

然后我在我的 App 目录中看到 node_modules 文件夹...但是,我无法在我的 index.js 文件中使用一个简单的模块:

var Web3 = require('web3'); // throws error
var web3 = new Web3();

function doClick(e) {
    var version = web3.version.api;
    $.label.text = "Web3 version: " + version;
}

$.index.open();

现在我已将 node_modules 中的文件夹粘贴到我在 App 文件夹下创建的 lib 中,并尝试访问其中的 dist 以访问 web3.min, 然后尝试了很多其他的东西,但没有运气......有没有其他人遇到过这样的问题或有解决方案?

此模块无法运行。来自 minor differences 下的 Appc Node.js 支持文档:

SDK doesn't have replacements for Node's core modules

我认为这实际上是一个主要区别,因为许多节点模块或其依赖项使用 Node.js 核心模块。例如,web3 使用名为 XMLHttpRequest 的模块,后者又使用 Node.js 核心 url 模块。 Titanium 会抛出一个错误,说它“找不到模块:url 架构:x86_64”。很可能还有其他几个核心模块依赖项。

Node.js 支持,至少目前看来最适合独立的 js 库。想想 momentjsunderscore(尽管它们已经内置于 Alloy)。