我是否将依赖项与wepback捆绑在一起进行生产

时间:2018-02-24 09:26:54

标签: javascript node.js webpack

我正在使用webpack来创建用于运行快速应用程序的生产包。我认为webpack externals字段会捆绑我需要部署的依赖项,而无需进行yarn安装或npm安装。

我的服务器webpack配置如下所示:

      const config = merge(common, {
        name: 'server',
        target: 'node',
        externals: readdirSync(path.join(__dirname, '../../node_modules'))
  .filter(x => !/\.bin|react-universal-component|require-universal-module|webpack-flush-chunks/.test(x))
  .reduce((externals, mod) => {
    externals[mod] = `commonjs ${mod}`;
    return externals;
  }, {});

我可以在外部列表中看到以下条目:

express: 'commonjs express',

但是当我尝试使用需要明确依赖的脚本执行文件时,我得到了:

  

找不到模块'表达'

我认为外部的重点是指定应捆绑的内容。

1 个答案:

答案 0 :(得分:0)

  

我认为外部的重点是指明应该是什么   捆绑在一起。

webpack documentation

相反
  

externals配置选项提供了一种排除方式   输出包的依赖关系。相反,创建的包   依赖于依赖性存在于消费者的环境中。

因此,您不希望express出现在您的外部,因为它实际上会从捆绑包中排除。