Webpack捆绑库与Node.js源文件中的库不同

Webpack bundled library is different from the one in a Node.js source file

本文关键字:源文件 Node Webpack js      更新时间:2023-09-26

我有一个文件:

// in.js
var util = require('util')
console.log(typeof util.inspect.defaultOptions)

与Node.js一起运行时效果良好:

C:'Users'artur'tmp>node in.js
object

但是如果我把它和Webpack捆绑在一起,它就会停止工作:

C:'Users'artur'tmp>webpack in.js out.js
Hash: c12d8f247c3fe30a8896
Version: webpack 1.13.3
Time: 169ms
 Asset     Size  Chunks             Chunk Names
out.js  24.3 kB       0  [emitted]  main
   [0] ./in.js 85 bytes {0} [built]
    + 4 hidden modules
C:'Users'artur'tmp>node out.js
undefined

我有:

  • Node.js version 7.0.0
  • Webpack版本1.13.3npm version 3.10.8Windows 10

util是特定于节点环境的。你不能将它捆绑在webpack中以便在浏览器中提供服务。

如果你想排除这类代码被捆绑在webpack中,你可以看看webpack.configwebpack-node-externals插件的externals配置。

externals: require('webpack-node-externals')()