Javascript 是否可以按存储在变量中的名称在浏览器中动态加载模块?
我希望能够在运行时配置要在浏览器中加载的模块,如下所示:Javascript 是否可以按存储在变量中的名称在浏览器中动态加载模块?,javascript,module,webpack,browserify,systemjs,Javascript,Module,Webpack,Browserify,Systemjs,我希望能够在运行时配置要在浏览器中加载的模块,如下所示: var moduleName = 'my-module' var module = require(moduleName) 这似乎不是开箱即用的,但也许有某种方法?是的,有很多方法 网页包热模块更换功能 来自Webpack文档的示例 var requestHandler = require("./handler.js"); var server = require("http").createServer(); server.on
var moduleName = 'my-module'
var module = require(moduleName)
这似乎不是开箱即用的,但也许有某种方法?是的,有很多方法
var requestHandler = require("./handler.js");
var server = require("http").createServer();
server.on("request", requestHandler);
server.listen(8080);
// check if HMR is enabled
if(module.hot) {
// accept update of dependency
module.hot.accept("./handler.js", function() {
// replace request handler of server
server.removeListener("request", requestHandler);
requestHandler = require("./handler.js");
server.on("request", requestHandler);
});
}
有关方法,请检查此答案
Related:我检查了import关键字的语法,模块的路径必须是string literal。您找到答案了吗?谢谢,但它只在运行webpack时有效吗?我可以用它来编译将加载模块的生产包吗?