在Webpack插件API中创建模块之前如何获取入口文件原始源代码

时间:2018-10-17 16:55:13

标签: javascript node.js webpack plugins

问题

我正在尝试之前将代码注入特定的入口点,然后Webpack会从中创建模块。在创建捆绑包之前,将在节点中生成此代码。具体如下:

  • 我不想操纵入口文件,而是在webpack发挥作用之前操纵内存中的原始源。
  • 我还需要从某个地方传递选项。

我尝试过的东西

=>创建加载程序

到目前为止,这是最简单的方法。导入以webpack配置为目标的文件,并让加载程序进行注入。示例:

{
  test: /\.custom-file$/,
  use: {
    loader: 'my-loader',
    options: {},
  },
}

问题是我需要在仓库中放一个任意文件(.custom-file,里面没有什么都不是,只是为了让webpack可以导入一些东西。 ..

您可以使用内联加载器语法导入“无内容”,并有目的地遗漏要导入的文件:

import myContent from '!my-loader';

这行得通,但是还需要您内联编写整个配置。我需要的配置太冗长,无法使用此方法...

=>创建一个插件

在阅读(看似是)互联网上的所有插件教程之后,我深信有 gotta 一种使用插件来访问条目文件源代码的方法。

我觉得我已经检查了每个钩子,最接近的钩子是normalModuleFactory,但是从输出中看,我似乎找不到条目文件的来源...

1 个答案:

答案 0 :(得分:0)

最终使用了此webpack插件:

https://github.com/adierkens/webpack-inject-plugin

该插件可动态创建一个Webpack加载器,并将您的代码注入您指定的入口文件中。