一、cannot find module “lodash”
项目运行时出现以下错误:
Error: Cannot find module 'lodash' 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:gwsk ode_modulesrowser-sync ode_modulesportsc anner-pluslibindex.js:3:9) 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) at require (module.js:380:17) at Object.<anonymous> (C:gwsk ode_modulesrowser-synclibutils.js:6:19)
这种问题首先要必须在所需的文件夹中(ex:项目文件夹中)安装lodash。如果该文件夹有一个包.json 文件。最好是在安装命令后面加上-save。
安装方法:cmd命令行进入项目对应文件夹下,输入npm install lodash -save
json文件保存了关于项目的信息,但是为了保持简单,它保存了您的项目依赖关系。
save命令将已安装的模块添加到项目依赖项中或包中。
json文件存在或者已经包含lodash依赖性,您可以尝试删除节点模块文件夹并运行以下命令:
npm cache clean
npm install
(老实说)第二个命令将安装项目的所有依赖项。希望这能帮助更多地了解节点包管理器。
二、cannot find module “./router”
出现这种错误的原因是我将index页面在express下面router中对应的index.js删了,导致运行中加载index页面找不到对应的路由,如下图是删掉的文件
解决办法是新建项目将里面对应的index.js拷贝过来(这种解决办法可能只适合新建项目里面东西不多的情况下,如果东西多,能被删掉的js里面有配置和新建的不一样,所以在删东西前一定要做好备份才是关键)
三、cannot find module “express-session”
在二中的问题解决完又出现一个问题cannot find module “express-session”,好像是这样的语句,因为修改时错误提示没仔细记,反正意思就是express-session找不到,不言而喻,这个原因和上面的是一样的,因为是新项目,好多需要的东西都没有,所以基本都是走一步配置一步。
解决办法:cmd找到项目根目录,输入 npm install express-session -save
四、Router.use() requires middleware function but got a Object
这是出现的错误,是因为在views下面index页面中没有写module.exports=router;这句话
五、Cannot find module 'ejs'
新建项目默认的是jade格式的,现在想要是ejs格式的就要在app.js里面
换成
本以为这样就可以了,结果在运行时报了 Cannot find module 'ejs',是因为没有安装ejs模块,
解决办法:cmd找到项目根目录,输入 npm install -save ejs