【问题标题】:webpack.ProvidePlugin with zeptowebpack.ProvidePlugin 与 zepto
【发布时间】:2016-01-26 03:42:12
【问题描述】:

我有一个在很多模块中使用 zepto 的项目。 如您所知,webpack.ProvidePlugin 是处理这种情况的最佳方式,有了它,我不需要在每个模块中手动导入 zepto。

zepto 不会自己导出,所以我无法使用 ProvidePlugin 导入它。

 plugins: [
    new webpack.ProvidePlugin({
      $: 'zepto'
    })
  ]

我知道有一个叫做webpack-zepto 的zepto wrap。

但是如果我采用这种方案,每次zepto更新时,我都需要自己更新代码。

有什么方法可以解决我的问题吗?

【问题讨论】:

    标签: webpack


    【解决方案1】:

    你可以试试script-loader:

    webpack.config.js
    
    loaders: [
        {
            test: require.resolve('zepto/zepto.min.js'),
            loader: 'script'
        }
    ]
    plugins: [
        new webpack.ProvidePlugin({
            $: 'zepto/zepto.min.js'
        })
    ]
    

    它将读取zepto.min.js文件并执行它,就像你把它放在一个脚本标签中一样,然后在你的模块中,你可以通过window.$访问zepto

    更新:

    如果你只是想使用$而不是window.$,你可以通过exports-loaderscript-loader请求zepto.min.js文件:

    webpack.config.js
    
    loaders: [
        {
            test: require.resolve('zepto/zepto.min.js'),
            loader: 'exports?window.$!script'
        }
    ]
    plugins: [
        new webpack.ProvidePlugin({
            $: 'zepto/zepto.min.js'
        })
    ]
    

    【讨论】:

      猜你喜欢
      • 2016-12-23
      • 2014-10-27
      • 1970-01-01
      • 2013-07-20
      • 2017-01-11
      • 1970-01-01
      • 2012-09-21
      • 2013-10-16
      • 2018-03-03
      相关资源
      最近更新 更多