首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有zepto的webpack.ProvidePlugin

带有zepto的webpack.ProvidePlugin
EN

Stack Overflow用户
提问于 2016-01-26 11:42:12
回答 1查看 2.8K关注 0票数 4

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

zepto不会自动导出,所以我不能用ProvidePlugin导入它。

代码语言:javascript
复制
 plugins: [
    new webpack.ProvidePlugin({
      $: 'zepto'
    })
  ]

我知道有一个叫webpack-zepto的zepto包装器。

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

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

EN

回答 1

Stack Overflow用户

发布于 2016-02-16 05:19:43

你可以试试script-loader

代码语言:javascript
复制
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文件

代码语言:javascript
复制
webpack.config.js

loaders: [
    {
        test: require.resolve('zepto/zepto.min.js'),
        loader: 'exports?window.$!script'
    }
]
plugins: [
    new webpack.ProvidePlugin({
        $: 'zepto/zepto.min.js'
    })
]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35006730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档