当前位置:  开发笔记 > 开发工具 > 正文

如何编写基于其他模块动态添加模块的Webpack插件?

如何解决《如何编写基于其他模块动态添加模块的Webpack插件?》经验,为你挑选了0个好方法。

我在为翻译服务编写Webpack插件时遇到问题.

目标是:

    在编译期间获取所有必需模块的名称(和源代码).我需要能够扫描包含的源代码以获取特殊t()功能,但我想只扫描那些将包含在包中的模块(根据构建配置,它可以是所有项目模块的子集).

    基于收集的模块,我想动态创建其他模块(带有翻译)并将它们添加到捆绑包中.这些模块需要能够导入自己的依赖项.

另一个要求是Webpack的代码拆分功能应该与动态创建的模块一起使用(我想将它们提取到单独的文件中 - 例如bundle.[lang].js).此外,这可能超出了这个问题的范围,我必须使这些翻译块可选(因此您不必加载所有语言,只需加载一个).

更多详细信息可以在https://github.com/ckeditor/ckeditor5/issues/387中找到.

我一直在尝试多种解决方案,但Webpack 2的文档并不是很有帮助.我可以通过听模组分辨率挂钩(让所有的模块before-resolve),但我不知道什么时候所有的依赖都解决了,我不知道我能不能以后添加更多的模块(以及如何做到这一点-是addEntryOK当我可以使用它?).

我也在考虑连接Webpack插件和Webpack加载器(因为我需要的功能非常类似于Webpack的样式加载器),但是从插件级别我只能添加加载器的路径,而不是加载器本身,所以我可以' t传递配置对象作为参数 - 我错了吗?

PS.我使用Webpack 2.如果您的需求看起来很奇怪,请参阅https://github.com/ckeditor/ckeditor5/issues/387 :).

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有