尝试在Atom中使用自然库时,Require未定义错误

时间:2019-07-06 17:14:27

标签: javascript node.js

我一直在尝试使用node.js中的自然库进行语言操作。但是,当我运行代码时,出现错误“ ReferenceError:未定义”。这显然导致程序无法运行。下面,我包括了我在JavaScript文件中使用的代码。

我已经安装了require.js,但是仍然发生错误。这是用于以HTML,CSS和JavaScript编码的网站,而JavaScript中的node.js代码。所有这些都在IDE原子中进行编程。

var nlp = require('natural');
var tokenizer = new nlp.WordTokenizer();
console.log(tokenizer.tokenize("Testing a practice sentence."));

我希望作为结果:['测试','a','实践','句子']

1 个答案:

答案 0 :(得分:0)

Node和浏览器没有使用完全相同的JavaScript:JS程序看到的环境不同,全局变量也不同(例如window在Node中不存在,process不存在)在浏览器中存在),而且最重要的是,模块的工作方式不同

浏览器使用可以用import加载的ES模块,而Node使用可以用require加载的CommonJS模块。那就是您提供的代码可以在Node上顺利运行,但不适用于浏览器。

要获取可用于浏览器的代码,请以不同的方式编写,或使用第三方工具自动翻译代码。对于偶尔在CommonJS和ESModule之间进行转换,我建议使用Babel,而对于生产级源代码捆绑则建议使用Webpack