我的问题是
如何为数百个html网页上的旧版javascript代码库定义webpack入口点
我用旧学校时尚前端编码风格(javascript css html
)遇到了这个系统 - 我称之为简单的jQuery风格时尚。
随着此代码库的增长,重复(几乎相同的功能)代码会泛滥许多js文件。我可以告诉我这个代码库很快就会出现。
我真的想利用当前的时尚构建/管理工具,比如webpack
。
所以我搜索了一下,人们更专注于如何在一小部分html页面中应用webpack
(更像是10页)
我的情况是,从3个base_xxx.html
个父网页扩展的近200多个html儿童网页共享相同的<script src="xxx.js"></script>
和<link rel="stylesheet" href="xxx.css"/>
个标记。
每个子页面都有自己定义的自定义js控件/显示逻辑来处理页面自己的需求。
e.g:
base_1.html
|__lib11 .js+.css
|__lib12 .js+.css
|__lib13 .js+.css
|__...
|__lib1N .js+.css
child11.html extends base_1.html
|__child11 .js+.css
child12.html extends base_1.html
|__child12 .js+.css
...
child1N.html extends base_1.html
|__child1N .js+.css
...
base_2.html
|__lib11 .js+.css
|__lib12 .js+.css
|__lib13 .js+.css
|__...
|__lib21 .js+.css
|__lib22 .js+.css
|__...
|__lib2N .js+.css
child21.html extends base_2.html
|__child21 .js+.css
child22.html extends base_2.html
|__child22 .js+.css
...
child2N.html extends base_2.html
|__child2N .js+.css
让我们假设child## .js+.css
彼此不兼容的极端情况,
即child11 .js+.css
和child12 .js+.css
无法包含在同一个html页面中,因为同一个id或类上可能存在差异控制/显示逻辑。
目前,我可以将这些标准lib## .js+.css
合并到vendor## .js+.css
,即webpack
中的一些入口点可以定义为vendor##
但是,如何处理这些child## .js+.css
?
entry : {
vendor1 : [
'lib11',
'lib12',
'lib13',
...,
'lib1N',
],
vendor2 : [
'lib21',
'lib22',
'lib23',
...,
'lib2N',
],
// nightmare!!! over 200+ entry point definitions?
child11: ['child11'],
child12: ['child12'],
child13: ['child13'],
...
child1N: ['child1N'],
child21: ['child21'],
child22: ['child22'],
child23: ['child23'],
...
child2N: ['child2N'],
},
output : {
filename : '[name].js'
}
在那些html页面中仅包含4个文件包含 e.g:
<!--child11.html-->
vendor1.css
child11.css
vendor1.js
child11.js
<!--child12.html-->
vendor1.css
child12.css
vendor1.js
child12.js
<!--child1N.html-->
vendor1.css
child1N.css
vendor1.js
child1N.js
入口点定义部分只是杀了我,还有更好的解决方案吗?
谢谢