webpack的辅助配置方法、装置、设备和存储介质与流程

文档序号:27339184发布日期:2021-11-10 02:42阅读:123来源:国知局
webpack的辅助配置方法、装置、设备和存储介质与流程

1.本技术涉及互联网前端技术领域,尤其涉及一种webpack的辅助配置方法、装置、设备和存储介质。


背景技术:

2.近年来随着前端技术的蓬勃发展,大型项目采用模块化开发的思想日益普及。而作为模块化打包工具的webpack也流行起来。但是对于不同版本的webpack尤其是webpack3.x及以上版本的webpack其自带的属性配置和相关插件、加载器loader的配置相当复杂,对于很多开发者来说上手和配置成本高。特别是基于相关的插件、加载器loader的相应配置方案,由于在webpack官方没有给出详细说明,需要开发人员自行查找资料,并通过不断设置和验证以找到正确的配置方案。其花费的精力和时间成本会非常高,而且通过找寻的模棱两可的实现方案存在着未知不稳定的风险。由此可见,目前的webpack配置不仅繁琐、配置成本高而且配置效果存在不确定性。


技术实现要素:

3.为了解决现有技术中webpack配置繁琐、配置成本高以及配置效果不稳定的技术问题。本技术提供了一种webpack的辅助配置方法、装置、设备和存储介质,其主要目的在于帮助开发者梳理webpack的各种配置项、引导开发者正确配置webpack。
4.为实现上述目的,本技术提供了一种webpack的辅助配置方法,该方法包括:
5.从webpack工具对应的webpack相关文件中提取出目标配置字段及对应的配置值,目标配置字段包括webpack的基本配置字段、webpack的插件所对应的插件配置字段及webpack的加载器所对应的加载器配置字段;
6.将目标配置字段及对应的配置值关联写入配置清单中;
7.向用户输出完成写入的配置清单。
8.此外,为实现上述目的,本技术还提供了一种webpack的辅助配置装置,该装置包括:
9.提取模块,用于从webpack工具对应的webpack相关文件中提取出目标配置字段及对应的配置值;
10.写入模块,用于将目标配置字段及对应的配置值关联写入配置清单中;
11.输出模块,用于向用户输出完成写入的配置清单。
12.为实现上述目的,本技术还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时执行如前面任一项的webpack的配置辅助方法的步骤。
13.为实现上述目的,本技术还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行如前面任一项的webpack的辅助配置方法的步骤。
14.本技术提出的webpack的辅助配置方法、装置、设备和存储介质,自动地从webpack相关文件中提取出与webpack配置相关的数据,将这些数据以一定的条理写入到配置清单中,并输出完成写入的配置清单,输出的配置清单条理清楚、具有可读性。用户例如开发人员不需要手动地在工程目录下一个文件一个文件的查找需要检验的配置项,从而为开发人员节省了配置检测的时间。另外,开发人员通过配置清单能够清晰有条理的梳理了解webpack作用下的工程配置,方便开发人员有针对性地查看、核对并找出修正错误的配置项,具有较好的指引作用,在一定程度上保证了其工程项目的稳定性。
附图说明
15.图1为本技术一实施例中webpack的辅助配置方法的应用场景图;
16.图2为本技术一实施例中webpack的辅助配置方法的流程示意图;
17.图3为本技术一实施例中webpack的辅助配置装置的结构框图;
18.图4为本技术一实施例中计算机设备的内部结构框图。
19.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
20.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
21.本技术提供的webpack的辅助配置方法,可应用在如图1的应用环境中,其中,终端设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
22.图2为本技术一实施例中webpack的辅助配置方法的流程示意图。参考图2,以该方法应用在图1中的终端设备为例进行说明。该webpack的辅助配置方法包括以下步骤s100

s300。
23.s100:从webpack工具对应的webpack相关文件中提取出目标配置字段及对应的配置值,其中,目标配置字段包括webpack的基本配置字段、webpack的插件所对应的插件配置字段及webpack的加载器所对应的加载器配置字段。
24.具体地,webpack作为一种打包器用于对项目工程的项目代码进行打包。webpack相关文件位于项目工程的项目目录中,项目目录类似于文件夹的目录。项目目录按照不同的功能文件分类和层级关系存放有各种文件,webpack相关文件属于项目目录下的部分文件。
25.本实施例的webpack的辅助配置方法是由webpack的辅助配置脚本来实现的。webpack的辅助配置脚本是由开发人员编写的,且运行在计算机中独立于项目工程之外,不需要写入项目工程的项目代码中。webpack的辅助配置脚本具体可以为一种python脚本,其定义了在工程目录下定位到目标配置字段的路径,即从工程目录下哪些文件中的哪些字段中提取目标配置字段。
26.webpack的辅助配置脚本运行在计算机中,通过执行脚本的代码逻辑从工程目录的webpack相关文件的webpack配置代码中提取出目标配置字段及对应的配置值。配置值是当前webpack中目标配置字段的实际值。
27.本技术可以应用于webpack配置和webpack升级等场景下。webpack相关文件包括:webpack.xxx.config.js文件、vue

loader.config.js文件、.postcssrc.js文件、package.json文件等其中的至少一种。
28.开发人员在编写webpack的辅助配置脚本时会自定义需要抓取哪些目标配置字段,通过辅助脚本可以从各个webpack相关文件中获取webpack的基本配置项、插件(plugins)配置项、加载器(loader)配置项。其中,插件和加载器是可以添加至webpack或从webpack中移除的附加功能。
29.其中,webpack的基本配置项包括了webpack的基本配置字段及其对应的配置值,webpack的插件配置项包括了webpack的每种插件的插件配置字段及对应的配置值,webpack的加载器配置项包括了webpack的每种加载器的加载器配置字段及对应的配置值。
30.另外,webpack包括至少一种插件和至少一种加载器,每种插件的插件配置字段包括至少一种,每种加载器的加载器配置字段包括至少一种。
31.s200:将目标配置字段及对应的配置值关联写入配置清单中。
32.具体地,目标配置字段的数量不止一个,往往有很多,关联写入配置清单中是为了将每个目标配置字段及对应的配置值组成一种映射关系,使得配置清单中数据分布有条理,便于阅读、增加可读性。
33.s300:向用户输出完成写入的配置清单。
34.具体地,本实施例的目的是自动地从webpack相关文件中提取出与webpack配置相关的数据,将这些数据以一定的条理写入到配置清单中,并输出完成写入的配置清单,完成写入的配置清单是指将目标配置字段及对应的配置值全部写入后的配置清单。完成写入后的配置清单条理清楚、具有可读性。用户例如开发人员不需要手动地在工程目录下一个文件一个文件的查找需要检验的配置项,从而为开发人员节省了配置检测的时间。另外,开发人员通过配置清单能够清晰了解webpack作用下的工程配置,方便开发人员有针对性地查看、核对并找出修正错误的配置项,在一定程度上保证了其工程项目的稳定性。
35.在一个实施例中,步骤s100具体包括:
36.从webpack相关文件的webpack.xxx.config.js文件中解析出第一加载器及第一加载器对应的第一配置项,第一配置项包括第一目标配置字段及对应的第一配置值;
37.从webpack相关文件的.postcssrc.js文件中解析出postcssrc配置项,postcssrc配置项包括第二目标配置字段及对应的第二配置值;
38.从webpack相关文件的webpack.xxx.config.js文件中解析出插件变量、插件变量所调用的插件以及调用的插件对应的第三配置项,第三配置项包括第三目标配置字段及对应的第三配置值;
39.从webpack相关文件的vue

loader.config.js文件中解析出第二加载器及第二加载器对应的第四配置项,第四配置项包括第四目标配置字段及对应的第四配置值;
40.从webpack相关文件的package.json文件中解析出第一加载器的第五配置项、第二加载器的第六配置项、调用的插件的第七配置项以及webpack的版本;
41.其中,第五配置项包括第五目标配置字段及对应的第五配置值,第六配置项包括第六目标配置字段及对应的第六配置值,第七配置项包括第七目标配置字段及对应的第七配置值。
42.具体地,第一加载器和第二加载器都属于webpack使用的加载器loader,第一加载器为一些常见功能的加载器,第二加载器为vue

loader这类的加载器。
43.通过webpack相关文件的webpack.xxx.config.js文件中的“loader”字段节点定位到第一加载器的配置代码,查找出第一加载器的命名字段,解析出与第一加载器的命名字段处于同一级的第一目标配置字段及对应的第一配置值。webpack中包括至少一个第一加载器,每个第一加载器包括至少一个第一目标配置字段及对应的第一配置值。
44.postcssrc对应的postcssrc配置项包括第一加载器对应的第一postcssrc配置项和/或第二加载器对应的第二postcssrc配置项。第一postcssrc配置项包括第一postcssrc配置字段及对应的第一postcssrc配置值,第二postcssrc配置项包括第二postcssrc配置字段及对应的第二postcssrc配置值。
45.通过webpack相关文件的webpack.xxx.config.js文件中的“pluins”字段节点定位到插件的配置代码,解析出插件变量以及插件变量所调用的插件,解析出与插件变量处于同一级的第三配置项及对应的第三配置值作为对应调用的插件的第三配置项。webpack中包括至少一个调用的插件,每个调用的插件包括至少一个第三配置字段及对应的第三配置值。
46.通过webpack相关文件的vue

loader.config.js文件中的“vue

loder”字段节点定位到第二加载器的配置代码,查找出第二加载器的命名字段,解析出与第二加载器的命名字段处于同一级的第四目标配置字段及对应的第四配置值。webpack中包括至少一个第二加载器,每个第二加载器包括至少一个第四目标配置字段及对应的第四配置值。
47.第二加载器的第四配置字段包括csssourcemap、cachbusting、transformtorequire等字段。
48.从webpack相关文件的package.json文件中获取dependencies对象和devdependencies对象中的键和值即key

value对,以及解析出webpack的版本。dependencies对象和devdependencies对象中分别设置了项目工程中所有插件、加载器以及webpack的版本号。获取的键值对即为插件、加载器以及webpack的版本号。例如,"vue

loader":"^15.9.7"代表vue

loader这类加载器的版本号为"^15.9.7"。"mini

css

extract

plugin":"^0.12.0"代表mini

css

extract

plugin这类插件的版本号为"^0.12.0"。第五配置项包括第一加载器的名称和版本号,第六配置项包括vue

loader第二加载器的名称和版本号,第七配置项包括调用的插件的名称和版本号。webpack的版本例如为webpack3.x或webapck4.x等不局限于此。
49.在一个实施例中,该方法还包括:
50.从预设的知识库中获取与webpack的版本对应的标准配置文件;
51.将完成写入的配置清单与标准配置文件进行比对,获取差异项;
52.根据差异项从知识库中获取对应的第一解决方案;
53.向用户返回差异项和对应的第一解决方案。
54.具体地,知识库包括了每个webpack版本所对应的标准配置文件,该标准配置文件
包括了在该webpack版本,插件的版本、加载器loader的版本、每种插件的每个配置字段的标准配置值、每种加载器loader的每个配置字段的标准配置值、webpack内部配置中每个配置字段的标准配置值等等。
55.知识库是通过不断的项目调试、大量的实操验证webpack项目工程后,根据权威的官方网站的官方文档总结、分类以及由开发人员根据调试过程总结形成的可参考的知识库。
56.在项目调试过程中通过不断的运行升级项目和调试配置各种配置项直到解决所有报错和警告问题。运行项目通过npm runbuild/dev脚本验证,使得最终不出错的项目经过webpack打包后的项目文件的大小有明显的缩减、打包后的源码和当前工程配置一致、运行项目后打包的文件能够正常在浏览器中运行、在浏览器中运行的项目比升级之前更快。
57.根据标准配置文件可以自动、快速找出完成写入的配置清单中存在的差异项,以及匹配到差异项对应的第一解决方案,第一解决方案是根据标注配置文件中配置字段的标准配置值获取到的。第一解决方案具体为一种修改方案或建议。开发人员根据差异项和对应的第一解决方案可以快速定位实际的webpack配置中的问题,并更正错误配置。大大提高了webpack的配置效率。
58.另外,可以在完成写入的配置清单中标识差异项,以及添加对应的第一解决方案,然后将标识添加后的配置清单作为指引文件提供给开发人员。
59.根据知识库中的标准配置文件可以有效地帮助开发者快速定位配置清单中人为没有发现的错误配置,再次帮助研发者审核webpack配置的正确性。帮助开发人员完成webpack的配置或升级。
60.在一个实施例中,该方法还包括:
61.获取在工程项目下运行根据第一解决方案重新配置的webpack后输出的当前错误日志;
62.从知识库的历史报错日志和警告日志以及对应的解决方案中获取当前错误日志对应的第二解决方案;
63.向用户返回当前错误日志及对应的第二解决方案。
64.具体地,当前错误日志是vscode输出的,因此,具体的错误日志内容会通过vscode窗口输出,webpack的辅助配置脚本可以通过直接访问当前错误日志的文件所在位置来获取并分析当前错误日志内容,也可以复制当前错误日志到一个新的文件中,然后执行python脚本代码来解析该新的文件中的内容。
65.完成写入的配置清单是开发人员根据经验对webpack进行的初始配置,根据标准配置文件校验完成写入的配置清单是为了自动快速的检查开发人员的webpack配置,以在运行工程项目之前及时修正错误的webpack配置。由于工程项目所处的运行环境复杂且不可控,根据标准配置文件不能完全保证检测出完成写入的配置清单中的所有错误配置。因此,开发人员根据第一解决方案重新配置的webpack也可能在运行过程中报错。
66.知识库中还存储有历史报错日志、警告日志以及对应的解决方案,因此,将错误日志与知识库中的历史报错日志、警告日志进行对比可以查找出不合理的配置或者报错信息,同时输出对应的第二解决方案。将第二解决方案提供给用户例如开发人员,开发人员根据第二解决方案可以快速定位并修正webpack的错误配置。特别是在webpack升级过程中,
本实施例能快速高效的解决报错问题,使得工程项目能够正确运行。目前工程中的配置和知识库比对的目的是检索出目前工程中根据报错或者警告信息通过查阅大量知识总结出来了大量可靠的升级或配置必备知识和报错处理方案。例如:插件、loader版本号、配置,新插件替换废弃插件的修改方法等等。同时对webpack配置、插件和loader的细节配置信息均来自权威的官方网站。
67.知识库还是一个经过分门别类的可靠的解决方案的模板。在大量的实操验证webpack项目工程的过程,知识库也收集、总结了大量可靠的升级必备知识和报错处理方案。验证过程中开发人员也会根据获得的报错或者警告给出解决方案写入或补充至知识库中。例如,在webpack的某个版本下,某些插件或者加载器的版本有哪些限制、新插件替换废弃插件的修改方法等等。
68.另外,可以根据当前错误日志在完成写入的配置清单中标识错误配置项,以及添加对应的第二解决方案,然后将标识添加后的配置清单作为报错日志解决方案提供给开发人员。开发人员可通过第二解决方案把具体的配置项设置到工程项目的webpack中,最终实现快速的工程升级。升级后的工程比传统的在网上搜索的方案会更加的可靠。
69.在一个实施例中,在步骤s300之前,该方法还包括:
70.从预设的知识库中获取目标配置字段所对应的目标注解;
71.将目标注解作为对应目标配置字段的注解关联写入配置清单中。
72.具体地,将注解写入配置清单中对应的目标配置字段的配置值之后,有利于开发人员更加容易理解webpack的配置信息,对于开发人员利用webpack运行工程项目具有较好的提示和解释作用。作为一个带注解的配置清单能帮助开发者详细的熟悉项目,然后在升级或配置的过程中能知道具体的配置项是干什么的,有利于结合当前工程的情况,来改进配置方案,做到心中有底。
73.知识库中有webpack版本及对应的加载器和插件的可用版本、每个可用版本下加载器和插件的配置字段及标准配置值、升级过程的报错问题及提供的解决方案以及注解、每个配置字段对应的注解等。通过匹配知识库中的关键词来输出对应的webpack配置描述、加载器、插件配置信息。知识库中还包括了webpack的各种配置注解。作为一个带注解的配置清单能帮助开发者详细的熟悉项目,然后在升级或配置的过程中能知道具体的配置项是干什么的,有利于结合当前工程的情况,来改进配置方案,做到心中有底。根据知识库中的标准配置文件可以有效地帮助开发者快速定位完成写入的配置清单中人为没有发现的错误配置,再次帮助研发者审核webpack配置的正确性。帮助开发人员完成webpack的升级。同时如果webpack升级过程中出现报错和警告提示,也可以通过分析报错日志和警告日志,输出一份解决方案,开发人员可通过解决方案把具体的配置项设置到工程项目的webpack中。最终实现快速的工程升级,升级后的工程比传统的在网上搜索的方案会更加的可靠。
74.在一个实施例中,步骤s100还包括:
75.从与module节点平级的其他节点中解析出devtool字段及对应的配置值、output字段及对应的配置值、mode字段及对应的配置值、optimization字段及对应的配置值、devserver字段及对应的配置值、node字段及对应的配置值,其中,module节点及与module节点平级的其他节点均为webpack相关文件的webpack.xxx.config.js文件中的节点。
76.具体地,devtool字段及对应的配置值、output字段及对应的配置值、mode字段及
对应的配置值、optimization字段及对应的配置值、devserver字段及对应的配置值、node字段及对应的配置值均为webpack的内部基本配置字段,且是与module节点平级其他节点中的配置字段。
77.在一个实施例中,postcssrc配置项包括第一加载器对应的第一postcssrc配置项和第二加载器对应的第二postcssrc配置项;
78.第一postcssrc配置项包括第一postcssrc配置字段及对应的第一postcssrc配置值,第二postcssrc配置项包括第二postcssrc配置字段及对应的第二postcssrc配置值。
79.具体地,postcssrc配置项是用于配置加载器的。因此,postcssrc配置项包括了第一加载器和第二加载器的一些postcssrc配置字段和postcssrc配置值。
80.在一个实施例中,步骤s200具体包括:
81.将第一加载器的第一目标配置字段及对应的第一配置值、第一postcssrc配置字段及对应的第一postcssrc配置值、第五目标配置字段及对应的第五配置值组成第一json对象写入配置清单中;
82.将调用的插件的第三目标配置字段及对应的第三配置值、第七目标配置字段及对应的第七配置值组成第二json对象写入配置清单中;
83.将第二加载器的第四目标配置字段及对应的第四配置值、第二postcssrc配置字段及对应的第二postcssrc配置值、第六目标配置字段及对应的第六配置值组成第三json对象写入配置清单中;
84.将webpack字段及对应的webpack版本、devtool字段及对应的配置值、output字段及对应的配置值、mode字段及对应的配置值、optimization字段及对应的配置值、devserver字段及对应的配置值、node字段及对应的配置值组成第四json对象写入配置清单中。
85.具体地,本实施例分门别类地将加载器、插件、webpack的内部配置的相关配置项以json对象的方式写入配置清单中。其中,第一加载器的第一json对象和第二加载器的第三json对象可以写入配置清单中的相邻位置。每个第一加载器或第二加载器或插件都包括一个json对象,每个json对象包含至少一个键值对,每个键值对为目标配置字段与对应的配置值。
86.使用json格式将配置字段与配置值写入配置清单不仅方便开发人员查阅,而且有利于后续解析校对配置清单中的各个配置值是否正确。
87.在一个具体实施例中,webpack的辅助配置脚本从webpack工具对应的webpack相关文件中提取出webpack的基本配置字段、webpack的插件的插件配置字段、webpack的加载器的加载器配置字段等目标配置字段及配置值;从预设的知识库中获取目标配置字段所对应的目标注解;将目标配置字段、对应的配置值及目标注解关联写入配置清单中。向开发人员输出带有注解的配置清单以供开发人员根据该带有注解的配置清单来人工检验是否有错误配置项,以及时更改修正webpack配置或项目工程配置。
88.webpack的辅助配置脚本还会从预设的知识库中获取与webpack的版本对应的标准配置文件;将完成写入的配置清单与标准配置文件进行比对,获取差异项;根据差异项从知识库中获取对应的第一解决方案;在完成写入的配置清单中标识出差异项以及添加对应的第一解决方案,将标识和添加处理后的配置清单输出给开发人员,以便开发人员根据这
份新的带有指引作用的配置清单重新修改webpack中的错误配置项。
89.webpack的辅助配置脚本还会获取在工程项目下运行根据第一解决方案重新配置的webpack后输出的当前错误日志;从知识库的历史报错日志和警告日志以及对应的解决方案中获取当前错误日志对应的第二解决方案;向用户返回当前错误日志及对应的第二解决方案。当然也可以采用将当前错误日志和对应的第二解决方案添加至配置清单中,以配置清单的形式向开发人员返回当前错误日志及对应的第二解决方案。
90.带注解的配置清单可以让开发者清晰了解工程配置、通过自检判断已有的webpack配置是否存在问题。指引文件能够快速高效、自动的进一步检验修改后的配置文件是否存在问题,并为开发者指出错误配置及给出相关的配置方案。报错日志处理指引文件能够高效、快速地分析报错日志中的报错问题,并给出报错问题对应的解决方案,进一步完善webpack配置。在webpack配置尤其是webpack升级过程中,基于知识库的webpack配置保证了项目工程的稳定性。
91.将webpack涉及到的知识点收集并有序组织起来,并提供给开发者来验证初始配置的webpack是否存在问题或漏洞。在存在问题时,向开发者提供错误配置和对应的解决方案,以便开发者完善修正webpack配置。
92.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
93.图3为本技术一实施例中webpack的辅助配置装置的结构框图;该webpack的辅助配置装置包括:
94.提取模块100,用于从webpack工具对应的webpack相关文件中提取出目标配置字段及对应的配置值,其中,目标配置字段包括webpack的基本配置字段、webpack的插件所对应的插件配置字段及webpack的加载器所对应的加载器配置字段;
95.写入模块200,用于将目标配置字段及对应的配置值关联写入配置清单中;
96.输出模块300,用于向用户输出完成写入的配置清单。
97.在一个实施例中,提取模块100包括:
98.第一提取单元,用于从webpack相关文件的webpack.xxx.config.js文件中解析出第一加载器及第一加载器对应的第一配置项,第一配置项包括第一目标配置字段及对应的第一配置值;
99.第二提取单元,用于从webpack相关文件的.postcssrc.js文件中解析出postcssrc配置项,postcssrc配置项包括第二目标配置字段及对应的第二配置值;
100.第三提取单元,用于从webpack相关文件的webpack.xxx.config.js文件中解析出插件变量、插件变量所调用的插件以及调用的插件对应的第三配置项,第三配置项包括第三目标配置字段及对应的第三配置值;
101.第四提取单元,用于从webpack相关文件的vue

loader.config.js文件中解析出第二加载器及第二加载器对应的第四配置项,第四配置项包括第四目标配置字段及对应的第四配置值;
102.第五提取单元,用于从webpack相关文件的package.json文件中解析出第一加载器的第五配置项、第二加载器的第六配置项、调用的插件的第七配置项以及webpack的版
本;
103.其中,第五配置项包括第五目标配置字段及对应的第五配置值,第六配置项包括第六目标配置字段及对应的第六配置值,第七配置项包括第七目标配置字段及对应的第七配置值。
104.在一个实施例中,该装置还包括:
105.第一匹配模块,用于从预设的知识库中获取与webpack的版本对应的标准配置文件;
106.第一比对模块,用于将完成写入的配置清单与标准配置文件进行比对,获取差异项;
107.第二匹配模块,用于根据差异项从知识库中获取对应的第一解决方案;
108.第二输出模块,用于向用户返回差异项和对应的第一解决方案。
109.在一个实施例中,该装置还包括:
110.日志抓取模块,用于获取在工程项目下运行根据第一解决方案重新配置的webpack后输出的当前错误日志;
111.第三匹配模块,用于从知识库的历史报错日志和警告日志以及对应的解决方案中获取当前错误日志对应的第二解决方案;
112.第三输出模块,用于向用户返回当前错误日志及对应的第二解决方案。
113.在一个实施例中,该装置还包括:
114.第四匹配模块,用于从预设的知识库中获取目标配置字段所对应的目标注解;
115.注释模块,用于将目标注解作为对应目标配置字段的注解关联写入配置清单中。
116.在一个实施例中,提取模块100还包括:
117.从与module节点平级的其他节点中解析出devtool字段及对应的配置值、output字段及对应的配置值、mode字段及对应的配置值、optimization字段及对应的配置值、devserver字段及对应的配置值、node字段及对应的配置值,其中,module节点及与module节点平级的其他节点均为webpack相关文件的webpack.xxx.config.js文件中的节点。
118.在一个实施例中,postcssrc配置项包括第一加载器对应的第一postcssrc配置项和第二加载器对应的第二postcssrc配置项;
119.第一postcssrc配置项包括第一postcssrc配置字段及对应的第一postcssrc配置值,第二postcssrc配置项包括第二postcssrc配置字段及对应的第二postcssrc配置值;
120.写入模块200包括:
121.将第一加载器的第一目标配置字段及对应的第一配置值、第一postcssrc配置字段及对应的第一postcssrc配置值组成第一json对象写入配置清单中;
122.将调用的插件的第三目标配置字段及对应的第三配置值组成第二json对象写入配置清单中;
123.将第二加载器的第四目标配置字段及对应的第四配置值、第二postcssrc配置字段及对应的第二postcssrc配置值组成第三json对象写入配置清单中;
124.将第一加载器的第五目标配置字段及对应的第五配置值、调用的插件的第七目标配置字段及对应的第七配置值、第二加载器的第六目标配置字段及对应的第六配置值、webpack的版本组成第四json对象写入配置清单中;
125.将devtool字段及对应的配置值、output字段及对应的配置值、mode字段及对应的配置值、optimization字段及对应的配置值、devserver字段及对应的配置值、node字段及对应的配置值组成第五json对象写入配置清单中。
126.其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本技术中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
127.关于webpack的辅助配置装置的具体限定可以参见上文中对于webpack的辅助配置方法的限定,在此不再赘述。上述webpack的辅助配置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
128.图4为本技术一实施例中计算机设备的内部结构框图。该计算机设备具体可以是图1中的终端设备。如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。存储器包括存储介质和内存储器。存储介质可以是非易失性存储介质,也可以是易失性存储介质。存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现webpack的辅助配置方法。该内存储器为存储介质中的操作系统和计算机可读指令的运行提供环境。该内存储器中也可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行webpack的辅助配置方法。该计算机设备的网络接口用于与外部服务器通过网络连接通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
129.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令(例如计算机程序),处理器执行计算机可读指令时实现上述实施例中webpack的辅助配置方法的步骤,例如图2所示的步骤s100至步骤s300及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机可读指令时实现上述实施例中webpack的辅助配置装置的各模块/单元的功能,例如图3所示模块100至模块300的功能。为避免重复,这里不再赘述。
130.处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
131.存储器可用于存储计算机可读指令和/或模块,处理器通过运行或执行存储在存
储器内的计算机可读指令和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
132.存储器可以集成在处理器中,也可以与处理器分开设置。
133.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
134.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中webpack的辅助配置方法的步骤,例如图2所示的步骤s100至步骤s300及该方法的其它扩展和相关步骤的延伸。或者,计算机可读指令被处理器执行时实现上述实施例中webpack的辅助配置装置的各模块/单元的功能,例如图3所示模块100至模块300的功能。为避免重复,这里不再赘述。
135.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指示相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双倍速率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
136.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
137.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
138.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1