Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 在自定义网页包插件中设置全局变量_Webpack - Fatal编程技术网

Webpack 在自定义网页包插件中设置全局变量

Webpack 在自定义网页包插件中设置全局变量,webpack,Webpack,我正在写一个网页包插件,除了它的主要用途外,还需要在构建中添加一些全局变量。通常,我会使用definePlugin来声明全局变量,但我似乎无法在我的插件中轻松复制它的行为。是否有任何方法可以从我的插件内部调用definePlugin,或者有其他方法可以在网页包插件内部声明全局变量 我意识到我可以复制整个definePlugin代码,但我觉得必须有一个更干净、更经得起未来考验的解决方案 我也可以在运行webpack时传递一个--env=…参数,但这需要我每次手动编辑命令,我甚至不确定我是否可以通过

我正在写一个网页包插件,除了它的主要用途外,还需要在构建中添加一些全局变量。通常,我会使用
definePlugin
来声明全局变量,但我似乎无法在我的插件中轻松复制它的行为。是否有任何方法可以从我的插件内部调用
definePlugin
,或者有其他方法可以在网页包插件内部声明全局变量

我意识到我可以复制整个
definePlugin
代码,但我觉得必须有一个更干净、更经得起未来考验的解决方案


我也可以在运行webpack时传递一个
--env=…
参数,但这需要我每次手动编辑命令,我甚至不确定我是否可以通过这种方式在插件中访问该命令。

我找到了这个问题的答案:

我可以在构建过程中运行此命令来调用
DefinePlugin

apply(compiler: webpack.Compiler) {
    const versionId = '1234';

    new webpack.DefinePlugin({
        VERSION: JSON.stringify(versionId)
    }).apply(compiler);

   // other code
}