在idea中启动nodejs项目后访问报错:Error: template not found: index.html

      以前一直用idea开发Java项目,最近团队要开发一个nodejs项目,有的人用的是VSCode,而我不想换开发工具了,幸好idea有nodejs插件,安装完以后导入项目即可,电脑上一定要提前安装好nodejs环境,安装好以后,idea的nodejs插件就会自动找到本地node安装路径,自动配置好。项目采用nodejs+typescript+express。

       项目启动前,请先执行 npm install 一下,相当于Java的mvn install,加载依赖的。我的启动类里有如下代码

app.get('/', (req, resp) => {
    resp.render('index', { username: 'test' });
});
student_1.default.initRoute(app);
const server = app.listen(8000, "localhost", () => {
    console.log("demo startup, url: http://localhost:8000");
});

      启动以后,我访问 http://localhost:8000,按理会映射到 index.html页面,但是却报错了:

Error: template not found: index.html
    at createTemplate (D:\workspace\demo\node_modules\nunjucks\src\environment.js:272:15)
    at next (D:\workspace\demo\node_modules\nunjucks\src\lib.js:282:7)
    at handle (D:\workspace\demo\node_modules\nunjucks\src\environment.js:311:11)
    at D:\workspace\demo\node_modules\nunjucks\src\environment.js:321:9
    at next (D:\workspace\demo\node_modules\nunjucks\src\lib.js:280:7)
    at Object.asyncIter (D:\workspace\demo\node_modules\nunjucks\src\lib.js:286:3)
    at Environment.getTemplate (D:\workspace\demo\node_modules\nunjucks\src\environment.js:303:9)
    at Environment.render (D:\workspace\demo\node_modules\nunjucks\src\environment.js:342:10)
    at NunjucksView.render (D:\workspace\demo\node_modules\nunjucks\src\express-app.js:22:9)
    at tryRender (D:\workspace\demo\node_modules\express\lib\application.js:640:10)
 

     上面的启动方式我是在启动类(在这里为js文件)上右键"run app.js";然后我换一种方式启动,例如在idea控制台有个Terminal,这里相当于cmd命令行,我输入D:\nodejs\node.exe D:\workspace\demo\build\app.js 启动以后,访问却是正常的。、

可见上面那种启动方式的配置有问题,导致映射路径错误,最后打开运行时配置“Edit Configurations...”成功定位问题。如下所示为错误的配置:


 

     看到了吗,第一个红框本应该是项目根目录,但是这里确是编译后的目录,怪不得找不到映射路径

     正确配置如下:

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值