在node.js中找不到模块错误
我是新来的node.js,这是我的第一个节点应用程序,所以请原谅我,如果我问明显的问题。 我有一个名为utils.js
的文件,我需要在该文件中定义的函数在main.js
可用。 所以我试着给
require(utils.js)
但它是抛出我这个错误:
Error: Cannot find module 'utils.js' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17)
我的main.js
位于c:\demo\proj\src\main\main.js
, utils.js
位于c:\demo\proj\src\utils\utils.js
。
我试过下面的需要组合,但我仍然无法find模块错误:
-
require(/proj/src/utils/utils.js
); -
require(/utils.js
); -
require(c:/demo/proj/src/utils/utils.js
);
即使我试图把它放在node_modules
文件夹下,但仍然是相同的错误。 你能指导我在这里做什么错误吗?
编辑:
我试图改变我的文件夹结构,如@mithunsatheesh指出,如下所示:
- 项目
- SRC
- utils – utils.js
- SRC
- main.js
我的require
如下: require('./src/utils/utils.js')
但是当我执行node main.js
我仍然得到错误:
Error: Cannot find module './src/utils/utils.js' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17)
根据你在问题中提到的文件夹结构,你必须尝试
require('../utils/utils.js')
这是如果你有你的项目文件夹结构像
- PROJ
- SRC
- utils的
- utils.js
- 主要
- main.js
- utils的
- SRC
你正在做node main.js
评论你的问题提供的细节。
-
请不要使用
require(c:/demo/proj/src/utils/utils.js);
当你尝试了。 想像你正在出口proj
文件夹与您的项目文件,然后提到的要求将是一个错误。 -
此外,文件夹结构可以做成类似的东西
- PROJ
- SRC
- utils – utils.js
- main.js
- 的package.json
- SRC
- PROJ
以便将主文件保存在项目文件夹的根目录下。 并需要像utils.js一样
require('./src/utils/utils.js')
UPDATE
至于ican从更新的错误消息看。 它仍然是“utils.js”path中的要求。 从你更新的文件夹main.js
看来, main.js
与proj
文件夹处于同一级别,请参阅build议的文件夹结构在proj
文件夹内有同一级别的main.js
和src
文件夹。
即使这是一个build议,我所做的,因为你正在按照一个文件夹结构,力的意义。 只require('../utils/utils.js')
就可以解决你的问题,甚至不用改变你刚才提到的文件夹结构。
使用: require('./utils.js');
。 这是从位于所需模块文件夹中的文件中获取模块的正确方法。
你必须提供一个相对或绝对path我猜utils.js
不在你的根目录下,因此require('/utils.js');
不是正确的道路。
例:
想象一下你在同一个文件夹中有两个文件utils.js
和main.js
utils.js
的内容是:
utils.js
exports.foo = function () { console.log('foo'); };
为了从utils.js
中的main.js
调用foo
,你应该使用:
main.js
require('./utils.js').foo();