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,我正在开发一个浏览器扩展,它将为浏览器API提供包装,我希望能够在构建期间交换特定于浏览器的包装 我被告知使用process.env.NODE\u env Webpack将删除计算结果为false的代码分支,但我不确定如何/在何处使用它来实现我的目标 您很可能需要将DefinePlugin添加到插件阵列中,如下所示: const webpack = require('webpack') module.exports = { ... plugins: [ ... new webpac

我正在开发一个浏览器扩展,它将为浏览器API提供包装,我希望能够在构建期间交换特定于浏览器的包装

我被告知使用
process.env.NODE\u env

Webpack将删除计算结果为false的代码分支,但我不确定如何/在何处使用它来实现我的目标

您很可能需要将DefinePlugin添加到插件阵列中,如下所示:

const webpack = require('webpack')

module.exports = {
 ...
 plugins: [
  ...
  new webpack.DefinePlugin({
    'process.env': {
      'NODE_ENV': JSON.stringify('production')
    }
  }),
 ]
}

我看到这些例子到处都是。然而,我的情况是,我正在做一个扩展,我支持一个浏览器API,通过一组文件用于Firefox,另一组用于Safari。如何在文件导入之间动态交换,例如“从'API/Firefox/Storage'导入存储”,并将其交换为“从'API/Safari/Storage'导入存储”我不知道process.env.NODE_env如何处理在我尝试执行的操作的上下文中交换导入。那么,我是否需要一个中间文件,根据process.env.NODE_env值导入和导出所需的文件
if(process.env.NODE_env==='firefox'){…}else if(process.env.NODE_env==='safari'){…}
我认为如果是这样的话,您可以更容易地将两个网页包分别配置为FF和safari,并分别独立发布