找不到模块'esprima'

时间:2013-09-22 13:10:47

标签: javascript node.js esprima

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

var esp = require('esprima');

2 个答案:

答案 0 :(得分:7)

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

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

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

C:

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

cd project_directory

与您更改project_directory。然后使用

安装模块
npm install esprima

否则尝试使用

更新它
npm update esprima

答案 1 :(得分:2)

如果您正在使用WebStorm 7(在我写这篇文章时已接近完成),我建议采用以下步骤,因为它很简单。

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

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

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

npm init
从控制台

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

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

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

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

或者从命令行再次使用npm

npm install esprima --save

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

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

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

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

npm update

从您的应用程序的根目录更新它(如果它尚未在本地可用,则下载它)。