nodejs异常捕获的问题

请问nodejs能不能捕获require模块时的异常,比如该文件不存在。

我试过try...catch发现不行

阅读 4.3k
2 个回答

读取文件用fs啊,require是引入代码模块的,代码模块存在不存在,你自己心里没点x数吗

其实你的需求是异步加载,es6的import()函数(注意:不是import关键字)可以做到:

import(`./section-modules/${someVariable}.js`)
  .then(module => {
    module.loadPageInto(main);
  })
  .catch(err => {
    main.textContent = err.message;
  });

引自阮一峰的ECMAScript 6 入门

不过nodejs不支持import()函数,可以用require.async包实现.

require.async地址

require("require.async")(require)
require.async("moment", function(moment) {
    console.log(moment().unix())
})

这要求所有的代码都是异步的

启动阶段已经跪了吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题