Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Node.js中导入模块时遇到错误_Javascript_Node.js_Npm - Fatal编程技术网

Javascript 在Node.js中导入模块时遇到错误

Javascript 在Node.js中导入模块时遇到错误,javascript,node.js,npm,Javascript,Node.js,Npm,当我使用命令npm install-g安装模块时,我可以通过require在Node.js命令行中导入模块 但是,当我执行node来运行代码时,当您在项目中运行脚本nodejs搜索以查找所需的模块时,我遇到了MODULE_NOT_FOUND错误,如果找不到,它将不会搜索全局模块 因此,您需要通过运行以下命令在项目目录中安装模块 npm install <module> 这将创建node_modules文件夹,您的脚本将找到该模块 通过阅读正式节点文档,您可以更好地理解模块的处理方式

当我使用命令npm install-g安装模块时,我可以通过require在Node.js命令行中导入模块


但是,当我执行node来运行代码时,当您在项目中运行脚本nodejs搜索以查找所需的模块时,我遇到了MODULE_NOT_FOUND错误

,如果找不到,它将不会搜索全局模块

因此,您需要通过运行以下命令在项目目录中安装模块

npm install <module>
这将创建node_modules文件夹,您的脚本将找到该模块


通过阅读正式节点文档,您可以更好地理解模块的处理方式:

未找到的模块是您通过npm安装-g?@WakaChewbacca安装的模块。正常情况下,您不只是下载模块并执行它。您可以编写自己的代码,需要模块,并使用公开的函数/方法。我们说的是什么包裹?花点时间进行SO之旅,了解如何提问@马克,你不明白我的问题。代表我的脚本,尝试要求模块,顺便问一下,模块是不需要的,如果没有找到它,它将不会搜索全局,那么全局文件夹的意义何在?!这是错误的。如果未找到包,则节点会向上查找节点\模块的所有目录。如果到达驱动器的根/装入点,则会在全局目录中搜索。你的回答是错误的。顺便说一句:你的链接与模块查找的工作方式无关。嗨,马克。默认情况下,节点不查看全局节点\u模块文件夹,您可以通过设置节点\u路径env var强制它在该文件夹中搜索,但不建议这样做:强烈建议将依赖项放置在本地节点\u模块文件夹中。这些将更快、更可靠地加载。那么安装带有-g标志的软件包的目的是什么呢?在全球范围内使用它。要获得该节点,必须查找全局文件夹。此外,Node.js将从您的链接中搜索以下您刚刚确认的全局文件夹列表。节点路径用于自定义/添加用于全局路径搜索的其他文件夹。例如,全局安装模块的目的是使用cli应用程序,而不是在我们的项目中使用它们。问题解决了,谢谢你