最近我在用Node.js开发Web应用时老是遇到”找不到视图模块”的困扰。折腾了好几天终于找出解决办法,来听听看!
视图文件夹路径设置不正确
Express 的视图文件夹,一般都在那个叫./views的小窝。当然,你也可以换名字或者搬去别处,只要确保文件夹名和你写的路径对上号就好。比如,你把它改成了”ViewFiles”的话,那就在 app.js 或者 server.js 这俩地方把路径改过来。
javascript 给文件夹取个‘llives’这个名儿,就把现在的路径连上ViewFiles,直接用在我们的APP。app.set('views', path.join(__dirname, 'ViewFiles'));__dirname就是你文件的“大本营”!千万别让你视图文件的路径弄错了,不然Node.js就找不到你的视图模块。
发现视图模块不见了吗?大概率是你忘安装视图引擎!洋葱哥给大家科普哈啥是视图引擎呗~这玩意儿在Node.js开发就跟战场上的子弹似的重要。像EJS、PUG这些牛逼的模板引擎和火爆的Handlebars都是这队列里的队员。让EJS发挥出来其实超简单!先搞个ejs依赖包入坑你的项目,再把下面这段程序搞进 app.js 或者 server.js 文件拉倒~
在代码中,只要把“视图引擎”设置为”ejs”就行。
未正确安装视图引擎
对于PUG引擎,则需安装pug依赖项:
npm install ejs --save我们把视图引擎设为Pug。
app.set('view engine', 'ejs');而对于Handlebars引擎,则需安装hbs依赖项:
把视图引擎设为’hbs’。
npm install pug --save别忘了检查下你的看view引擎是否正常,不然App就找不见视图模块!
视图文件没有正确命名
app.set('view engine', 'pug');对了,可能是因为你给视图文件起错名字或者没放在正确的位置。记住,文件的名称要和引擎匹配上,而且还要放到对应的文件夹里。比如说,如果用的是EJS引擎,那文件名就应该叫”example.ejs”,放在合适的位置才行。在设置路由时,可以这样调用视图:
res.render(‘example’);
npm install hbs --save处理Node.js项目时,要是找不到界面模块可就麻烦了。先确认下是否正确设置了视图文件夹和名称?如果都没问题,那可能是你的代码还需要稍作调节!
其他可能原因
app.set('view engine', 'hbs');别担心,找不到视图文件可不止我们通常看到那几个问题,其实还有其他可能,比如,你可能在设定路由的时候不小心操作错误了,或者忘记安装某个重要包,甚至你的Node.js版本与项目不符等。如果真的出现这种情况,不要怕,咱们一步一步,逐一查找和解决问题!
总结
哪个模块找不着?解决起来超容易,分分钟搞定!第一步,先瞅瞅视图文件夹路径对不,再看引擎也安装对了没;然后看看名字和位置是不是搞错了;实在还是找不到?那就好好检查,找出毛病在哪,对应的解决办法就那么几个,不用怕!
原文链接:https://www.icz.com/technicalinformation/web/2024/04/13995.html,转载请注明出处~~~
评论0