0

我想从 node_modules 中获取一个模块并且我想捆绑它(出于测试目的),但是 Webpack 的行为就像它被添加到外部一样。

// no externals or any plugin used
let config = {
    mode: 'none',
    target: 'node',
    entry: {
      output: `/example.js`,
    },
    resolve: {
      extensions: ['.js'],
    },
    output: {
      path: './dist',
    },
  };
// exampl.js
require('path')
// dist/output.js
require('path');

预期行为

path要捆绑的节点模块

实际行为

Webpack 保持require('path');

4

1 回答 1

1

这是设计使然。在 webpack config 中设置target: 'node'时,webpack 不会捆绑 Node.js 的内置模块。path是 Node.js 的内置模块,它不是来自node_modules目录。

使用nodewebpack 将编译以在类似 Node.js 的环境中使用(使用 Node.js 加载块并且不触及任何内置模块,如fsor path)。

查看目标

于 2021-11-25T07:04:13.047 回答