Webpack中external模块的具体使用方法

分类:知识百科 日期: 点击:0

Webpack中External模块的使用方法

Webpack中的external模块是一种将模块从bundle中拆分出来的技术,它可以帮助我们减少bundle的体积,提高应用的性能。External模块的使用方法如下:

1. 配置externals

我们需要在webpack的配置文件中添加externals配置,externals配置是一个对象,它接受一个模块名称作为键,接受一个全局变量名称作为值,表示这个模块将被以全局变量的形式引入,以下是一个externals配置的示例:

  externals: {
    jquery: '$'
  }

上面的配置表示,jquery模块将被以全局变量$的形式引入。

2. 引入模块

在项目中引入external模块,我们可以使用全局变量的形式引入,以上面的例子为例,我们可以使用$来引入jquery模块,例如:

  $(function () {
    // jquery代码
  });

3. 配置externals选项

externals选项也可以接受一个函数,它接受一个模块名称作为参数,返回一个全局变量名称,我们可以使用externals选项来实现更复杂的模块引入,例如:

  externals: {
    jquery: function (context, request, callback) {
      if (request === 'jquery') {
        return callback(null, '$');
      }
      callback();
    }
  }

上面的配置表示,当引入jquery模块时,将使用全局变量$来引入,如果引入其他模块,将不会有任何变化。

4. 使用webpack.ProvidePlugin

webpack提供了一个叫做webpack.ProvidePlugin的插件,可以让我们自动加载模块,以上面的例子为例,我们可以使用webpack.ProvidePlugin来加载jquery模块,例如:

  new webpack.ProvidePlugin({
    $: 'jquery'
  })

上面的配置表示,当webpack打包时,会自动加载jquery模块,并将它以全局变量$的形式引入。

5. 使用webpack.DllPlugin

webpack提供了一个叫做webpack.DllPlugin的插件,可以将我们需要的模块打包成一个独立的dll文件,我们可以在项目中引入这个dll文件,以上面的例子为例,我们可以使用webpack.DllPlugin来打包jquery模块,例如:

  new webpack.DllPlugin({
    name: '[name]_[hash]',
    path: path.join(__dirname, 'dll', '[name]-manifest.json'),
    context: __dirname
  })

上面的配置表示,会将jquery模块打包成一个名为[name]_[hash]的dll文件,并将manifest文件保存在dll文件夹中。

通过以上的介绍,我们已经了解了Webpack中External模块的使用方法,它可以帮助我们减少bundle的体积,提高应用的性能。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。