path = '../testClass'; const mod = require(path); //报错 ERROR Error: Cannot find module "." require('../testClass'); // 正确
这是为什么,如果需要传入变量,该怎么写?
有的小伙伴可能在开发时需要动态加载模块
常规思路,如果模块有固定的父级路径,比较好办:
var foo= require("./dir/"+somevaribale+".js");
这样即可,进行根据条件不同进行加载。
但是也有情况下,路径是完全不可预测的。
比如我们需要加载一个任意的绝对路径,我们可能会这样写。
var module_path= "/dir/"+somevariable+".js"; var foo= require(module_path);
在node后端环境,这样是没有问题的。