npm install web3 到 Appcelerator Titanium SDK > 6.x

Posted

技术标签:

【中文标题】npm install web3 到 Appcelerator Titanium SDK > 6.x【英文标题】:npm install web3 into Appcelerator Titanium SDK > 6.x 【发布时间】:2017-12-15 22:05:38 【问题描述】:

我想将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,然后尝试了很多其他的东西,没有运气...有其他人遇到过这样的问题或有解决方案吗?

【问题讨论】:

在 Appc 上添加了一个 Jira 问题,说明其价值:jira.appcelerator.org/browse/AC-5077 【参考方案1】:

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

SDK 没有替代 Node 的核心模块

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

至少目前,Node.js 支持似乎最适合独立的 js 库。想想momentjsunderscore(尽管这些已经内置在 Alloy 中)。

【讨论】:

感谢亚当提供此信息。

以上是关于npm install web3 到 Appcelerator Titanium SDK > 6.x的主要内容,如果未能解决你的问题,请参考以下文章

尝试 npm install web3 时出现致命错误 LNK1181

npm install web3 安装失败: undefined ls-remote

web3 npm 安装失败

无法在 Windows 10 上 npm 安装 web3

Mac npm install时提示git@github.com:Permission denied (publickey)

使用带有 web3 的 npm 链接