Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find module in Nodejs

module.js:340
    throw err;
          ^
Error: Cannot find module './models/todo'
    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)
    at Object.<anonymous> (C:\Users\Basel\Desktop\Todo List\routes\api.js:1:74)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

C:\Users\Basel\Desktop\Todo List>

Why this application won't start up? I've already tried a global npm install.

like image 301
user2993058 Avatar asked Dec 07 '13 20:12

user2993058


People also ask

Can not find module node?

To fix the Cannot find module error, simply install the missing modules using npm . This will install the project's dependencies into your project so that you can use them. Sometimes, this might still not resolve it for you. In this case, you'll want to just delete your node_modules folder and lock file ( package-lock.

Can not find module node path?

To solve the "Cannot find module path or its corresponding type declarations" error, install the types for node by running the command npm i -D @types/node . You can then import path with the following line of code import * as path from 'path' .

Where can I find node modules?

On Unix systems they are normally placed in /usr/local/lib/node or /usr/local/lib/node_modules when installed globally. If you set the NODE_PATH environment variable to this path, the modules can be found by node.


1 Answers

In ./models/todo, the period indicates that node will look in the same folder that api.js is in, which would look for \Todo List\routes\models\todo.js. This does not start from the root of the application. To require this, you'll need to us two periods to jump up a level, and specify the app path as well:

var todo = require('../app/models/todo');
like image 122
matth Avatar answered Oct 01 '22 23:10

matth