gpt4 book ai didi

javascript - 为什么 browserify 在调用 require 之前加载每个模块?

转载 作者:行者123 更新时间:2023-12-03 06:24:46 25 4
gpt4 key购买 nike

我有一个类似这样的代码:

index.js

var x, a = 1;

if (a)
x = require("./a");
else
x = require("./b");

module.exports = x();

a.js

console.log("a is loaded");
module.exports = function (){
console.log("a is running")
};

b.js

console.log("b is loaded");
module.exports = function (){
console.log("b is running")
};

按我得到的节点

a is loaded
a is running

但是通过 karma+browserify 我得到了

a is loaded
b is loaded
a is running

在控制台中。

有没有办法阻止b被browserify加载?

最佳答案

如果我错了,请有人纠正我,但 browserify 的工作方式是,它会获取您可能需要的每个 JS 文件,并使用所有内容创建一个 JS,以便可以在浏览器中使用;由于它无法确定在编译时需要使用哪些源,因此它需要加载所有内容。

也许您可以尝试使用备用脚本加载器,例如 RequireJS ,例如。

关于javascript - 为什么 browserify 在调用 require 之前加载每个模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38705187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com