-2

我正在为我的 JavaScript Web 应用程序使用同义词库 API (altervista),但我希望能够发出大量同义词请求而不必担心 API 配额等。我想在我的网络主机上自行托管同义词库,我想从浏览器中的 JavaScript 发送单词并接收它们的同义词。

作为研究,我尝试了节点,并且在节点内我能够获得这些包的同义词:

自然”和“ wordnet-magic

所以然后我尝试浏览化“自然”和“wordnet-magic”节点包在尝试浏览“自然”时:

"Error: Cannot find module 'lapack'"

“lapack 似乎是一个依赖于本机操作系统的共享库,所以它不能被浏览器化。” https://github.com/moos/wordpos/issues/9

我也没有运气浏览“wordnet-magic”:

"Uncaught TypeError: Cannot read property '_ansicursor' of undefined"

可能相关(因为 sqlite3 在我的 wordnet-magic 包中),此处报告了相同错误的实例但仍未解决:https ://github.com/mapbox/node-sqlite3/issues/512

如果在 JavaScript 中不可能的话,我的第二个选择是 PHP 解决方案。它不必使用 Browserify 或 Wordnet,但 Wordnet 在浏览器中将是一件了不起的事情。谢谢。

4

1 回答 1

0

好的,我可以在浏览器中获取同义词(感谢 Stuart Watt):

我按照说明在这里设置了一个 javascript wordnet 应用程序: https ://github.com/morungos/wordnet

然后做了

npm 安装快递

然后用节点运行这段代码:

var express = require('express');
var app = express();
var WordNet = require('node-wordnet');
var wordnet = new WordNet();
app.get('/lookup', function(req, res) {
    wordnet.lookup(req.query.word, function(results) {
        res.send(results);
    });
});
app.listen(3000, function() {
    console.log('Example app listening on port 3000!');
});

然后你就可以在浏览器中看到 wordnet,例如 http://localhost:3000/lookup?word=wind

它是可见的、有效的,并且要在您的 html 中使用它,请参阅以下答案: https ://stackoverflow.com/a/36526208/5350539

于 2016-09-14T19:08:02.553 回答