首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许使用grunt browserify进行全局转换

允许使用grunt browserify进行全局转换
EN

Stack Overflow用户
提问于 2016-02-06 00:27:59
回答 1查看 702关注 0票数 2

我已经将jQuery作为脚本标记添加到html文件中,并将其添加到package.json以使用browserify-shim,如下所示:

代码语言:javascript
复制
  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  },
  "browserify-shim": {
    "jquery": "global:jQuery"
  },

我可以通过一个简单的require('jquery')调用在我的主脚本文件中公开它。

问题是我使用了一些在内部执行require('jquery')的jQuery插件,由于browserify转换不适用于依赖项的依赖,它导致browserify抱怨捆绑,因为它找不到jQuery

现在我知道我可以通过应用全局变换来解决它,但我找不到一种简单的方法。

Browserify文档说您不能在包文件中应用全局转换,因此以下内容不起作用(我认为会起作用):

代码语言:javascript
复制
  "browserify": {
    "global-transform": [
      "browserify-shim"
    ]
  },

  "browserify": {
    "transform": [
      "browserify-shim"
    ],
    "global": true
  },

我还尝试将该选项添加到我的Gruntfile.js中,如下所示,但即使这样也不起作用:

代码语言:javascript
复制
browserify: {
        options: {
            global: true
        },
        dist: {
            files: {
                'js/bundle.js': 'js/script.js'
            }
        },
    },

最后一个选项是手动添加一个browserify-shim到每个依赖项的package.json中,但我不想这么做,因为这意味着每次我添加一个新插件时,我都必须重复相同的过程。

有什么想法可以缓解上面的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-12-07 20:46:50

您应该能够通过提供带有散列选项的转换来应用全局转换:

代码语言:javascript
复制
 "browserify": {
   "transform": [
     ["browserify-shim", {global: true}]
   ]
 }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35228943

复制
相关文章

相似问题

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