3

我正在尝试用 JavaScript 开发一个抽象语法树程序。我正在使用 Jet brains IDE 进行开发。当我运行程序时,我收到错误Cannot find module esprima。nodejs 的设置是完美的,我认为它没有任何问题。请在下面找到代码片段。在一篇文章中,我看到 esprima 模块存在于 nodejs 中。请帮忙。谢谢你。

var esp = require('esprima');
4

2 回答 2

7

检查项目node_modules目录中的esprima. 如果不存在,请尝试在终端中使用以下命令安装它,

在命令提示符终端中,将目录更改为项目的根目录。

用于WinKey + R运行命令提示符。然后运行cmd,并在cmd中执行更改目录命令。例如,如果您的项目在C驱动器中,那么,

C:

这将更改为 C: 驱动器,然后找到您的项目目录。

cd project_directory

project_directory随你而变。然后使用安装模块,

npm install esprima

否则尝试使用更新它,

npm update esprima
于 2013-09-22T13:15:30.490 回答
2

如果您使用的是WebStorm 7(在我写这篇文章时几乎完成了),我建议您执行以下步骤,因为它很简单。

在 WebStorm 7+ 中,您可以使用Tools菜单选项快速访问项目的嵌入式命令行,Open Terminal.... 从那里,您可以轻松地操作已安装的节点包。如果您使用的不是具有该选项的 WebStorm 版本,只需切换到 Node.JS 应用程序的根目录并执行相同的步骤。

如果您还没有package.json为 node.js 项目定义文件。添加它。

您可以手动创建文件或使用

npm init

从控制台并按照提示进行操作(按[Enter]一次或两次以从一个字段移动到另一个字段)。

然后,您可以手动将esprima添加为依赖项,dependencies如下所示:

{
  "name": "nodetemp",
  "version": "0.0.0",
  "description": "Best demo ever",
  "main": "index.js",
  "repository": "",
  "author": "",
  "license": "BSD",
  "dependencies": {
    "esprima": "*"
  }
}

在上面的例子中,我已经指定我想使用任何位于 npm.org 上的 esprima 的当前版本。(这很可能用于开发目的,但除非经过精心管理,否则不太适合生产。)

或者从命令行npm再次使用:

npm install esprima --save

这将下载当前版本的esprima并将其作为依赖项添加到package.json文件中。它将自动将 esprima 的当前语义版本您的包相关联。

如果您使用该--save选项,它当前会将以下内容添加到package.json文件中:

  "dependencies": {
    "esprima": "~1.0.4"
  }

package.json文件中列出依赖项后,您始终可以使用:

npm update

从您的应用程序的根目录更新它(或者如果它还没有在本地可用,则重新下载它)。

于 2013-09-22T16:15:34.197 回答