我怎样才能使webpack跳过一个要求

我怎样才能使webpack跳过的发生

require('shelljs/global'); 

在我的源文件? 我想创build一个我的源文件包,但在文件中保留require('shelljs/global') ,而不是绑定shelljs / global。

先谢谢你

托马斯

您可以使用忽略插件 。

webpack.config.js添加插件:

 plugins: [ new webpack.IgnorePlugin(/shelljs\/global/), ], 

如果将path存储在variables中,则IgnorePlugin将不起作用。 尽pipe你仍然可以这样做:

 const myCustomModule = eval('require')(myCustomPath) 

对于新手来说,在webpack 2上这样做的方式是这样的:

 module.exports = { entry: __dirname + '/src/app', output: { path: __dirname + '/dist', libraryTarget: 'umd' }, externals: { 'shelljs/globals': 'commonjs shelljs/global' } }; 

该包将包含一个逐字的要求:

 require('shelljs/global'); 

阅读关于webpackconfiguration指南的更多支持的格式和一些很好的例子

如果require在全局命名空间中,这就是为什么你想让Webpack忽略它,只要做window.require()