尝试使用文件夹模块时抛出错误?

编程入门 行业动态 更新时间:2024-10-09 02:26:47

尝试使用文件夹模块时<a href=https://www.elefans.com/category/jswz/34/1771043.html style=抛出错误?"/>

尝试使用文件夹模块时抛出错误?

[当尝试要求两个包含js文件的文件夹时,我收到一个抛出错误,返回找不到这两个文件夹。这些模块显然存在,所以我不明白如何不能要求它们。起初我以为这与js文件的内容有关,但是如果js文件中存在错误,那么肯定可以确定该错误与js文件的内容特别相关,而与js文件的内容无关。

相反,它只是简单地指出找不到模块

internal/modules/cjs/loader.js:960
  throw err;
  ^

Error: Cannot find module './training'
Require stack:
- d:\nodejs_scripts\sessions\session1_05.05.20\main.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:957:15)
    at Function.Module._load (internal/modules/cjs/loader.js:840:27)
    at Module.require (internal/modules/cjs/loader.js:1019:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (d:\nodejs_scripts\sessions\session1_05.05.20\main.js:2:20)
    at Module._compile (internal/modules/cjs/loader.js:1133:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
    at Module.load (internal/modules/cjs/loader.js:977:32)
    at Function.Module._load (internal/modules/cjs/loader.js:877:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'd:\\nodejs_scripts\\sessions\\session1_05.05.20\\main.js' ]
}

我调试了./training内容和./serializer内容,但都没有发现错误。因此,当尝试要求main.js中的文件夹时,必定会发生错误。有什么明显的我想念的地方吗?

提前感谢。

回答如下:

[当您尝试require()文件夹名称时,您将获得the doc中所述的这些规则:

LOAD_AS_DIRECTORY(X)
1. If X/package.json is a file,
   a. Parse X/package.json, and look for "main" field.
   b. If "main" is a falsy value, GOTO 2.
   c. let M = X + (json main field)
   d. LOAD_AS_FILE(M)
   e. LOAD_INDEX(M)
   f. LOAD_INDEX(X) DEPRECATED
   g. THROW "not found"
2. LOAD_INDEX(X)

LOAD_INDEX(X)
1. If X/index.js is a file, load X/index.js as JavaScript text.  STOP
2. If X/index.json is a file, parse X/index.json to a JavaScript object. STOP
3. If X/index.node is a file, load X/index.node as binary addon.  STOP

因此,如果您试图从require('./training')中加载main.js,则./training是目录,因此您遵循LOAD_AS_DIRECTORY()规则。它首先在该目录中查找package.json文件。您的目录屏幕截图没有显示一个。然后转到LOAD_INDEX(X),并在该目录中查找index.jsindex.jsonindex.node。您也不显示任何一个。

因此,该目录中似乎缺少四个可能的选项,因此require()放弃并报告错误。要加载目录,您需要这四个选项之一在该目录中。回顾一下,四个选项是:

package.json
index.js
index.json
index.node

而且,如果有package.json,它必须有一个“ main”字段来告诉require()要加载的内容。

更多推荐

尝试使用文件夹模块时抛出错误?

本文发布于:2024-05-07 06:00:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754665.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:抛出   文件夹   模块   错误

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!