我正在尝试用JavaScript开发一个抽象语法树程序。我正在使用Jet brains IDE进行开发。当我运行程序时,我收到错误无法找到模块esprima 。 nodejs设置是完美的,我不认为它有任何问题。请在下面找到代码段。在一篇文章中,我看到esprima模块存在于nodejs中。请帮忙。谢谢。
var esp = require('esprima');
答案 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
从您的应用程序的根目录更新它(如果它尚未在本地可用,则下载它)。