Javascript Split browserify在一些其他文件上绑定文件,保持它们之间的依赖关系
我的应用程序的“main.js”文件已经成长了很多,所以我想找到一种方法将其拆分到其他不同的文件上, 为了避免只有一个巨大的文件延迟了我的页面的第一次加载 我目前发布了一个bundle file=>main.js,其中包含许多模块,这些模块与每个模块交互 我想拆分/转换以下内容:Javascript Split browserify在一些其他文件上绑定文件,保持它们之间的依赖关系,javascript,node.js,browserify,Javascript,Node.js,Browserify,我的应用程序的“main.js”文件已经成长了很多,所以我想找到一种方法将其拆分到其他不同的文件上, 为了避免只有一个巨大的文件延迟了我的页面的第一次加载 我目前发布了一个bundle file=>main.js,其中包含许多模块,这些模块与每个模块交互 我想拆分/转换以下内容: - main.js ===> - global.js - a.js - b.js
- main.js ===> - global.js
- a.js
- b.js
- c.js
因此,对于我的三个网页,我希望加载如下脚本:
//Page A
<script src="global.js">
<script src="a.js">
//Page B
<script src="global.js">
<script src="b.js">
//Page C
<script src="global.js">
<script src="c.js">
a、 js
b、 js
c、 js
我认为这可以很容易地解决在[a,b,c]上为每一个绑定[global],然后使用[global-a,global-b,global-c]
但事实上,大部分代码都在global内部,因此global在第一次加载到页面上时不会被缓存,它将支付页面上的加载时间
我也不想让[global]的变量作为全局变量
我能做什么?可能会与AMD或类似的公司合并?您似乎需要factor bundle来完成这样的设置:@Sombriks很好。我认为事情比那更复杂。clobal模块将具有依赖于或自身的类,然后与其他模块通信。因此,我需要的是一个范围,其中包装了全局和a或b或c的每个网页,我不想重复代码加载的东西,我已经加载。有人明白我的方法吗?
//[module_global1]
var mod = {};
(...)
module.exports = mod;
//[module_global2]
var mod = {};
var module_global1 = require("./module_global1");
//(...)
module.exports = mod;
//[module_a1]
var mod = {};
(...)
module.exports = mod;
//[module_a2]
var mod = {};
var module_a1 = require("./module_a1");
//HERE => How?
var module_global1 = require("./module_global1");
//(...)
module.exports = mod;
//[module_b1]
var mod = {};
(...)
module.exports = mod;
//[module_b2]
var mod = {};
var module_b1 = require("./module_b1");
//(...)
module.exports = mod;
//[module_b3]
var mod = {};
var module_b1 = require("./module_b1");
var module_b2 = require("./module_b2");
//HERE => How?
var module_global2 = require("./module_global2");
//(...)
module.exports = mod;
//[module_c1]
var mod = {};
//HERE => How?
var module_b2 = require("./module_b2");
(...)
module.exports = mod;