node.js - 在browserify中需要cdn库而不将其捆绑在最终的js文件中

标签 node.js gruntjs browserify

如果我有一个从 cdn 中拉下的库,并且不希望它成为最终 js 文件的一部分,但能够使用 browserify 要求它,我将如何解决它?

这是我目前使用 alias 和 shim 文件解决它的方法。

browserify: {
    options: {
        debug: true,
        transform: [ 'reactify' ],
        alias: [
            'client/shims/jquery.js:jquery'
        ]
    },
    app: {
        src:  'client/app.js',
        dest: 'public/app.js'
    }
}

这里是 shim 文件 client/shims/jquery.js 我别名为 jquery 所以我可以使用 require('jquery') 而不是完整路径。

module.exports = $;

grunt-browserify 中是否有快捷方式来支持这种情况?我想知道是否可以在 Gruntfile.js 中定义它而不创建 shim 文件。

添加 external: [ 'jquery' ] 似乎完全忽略它并且不起作用。

最佳答案

browserify-shim你可以在你的 package.json 文件中添加这个:

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

  "browserify-shim": {
    "jquery": "global:$"
  }

然后 jquery 将通过 require('jquery')

在您的模块中可用

关于node.js - 在browserify中需要cdn库而不将其捆绑在最终的js文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20734788/

相关文章:

javascript - Browserify 外部需要 Grunt-Browserify

node.js - Mongoose 查询开发的工作流程

node.js - 如何将 co 与 express 一起使用?

javascript - "npm run dev"命令不执行 't Work - Giving "缺少脚本 : dev"error

javascript - Assemble.io assemble-middleware-permalinks 不起作用,组装任务没有输出

handlebars.js - 我应该如何构建我的模块以使用 hbsfy 和 browserify?

node.js - Mongoose 查找具有给定 ObjectId 的所有文档

javascript - Grunt 多次连接 JS 文件

jquery - 在 grunt.js 中,在 uglify "jquery"和 "blockui"期间,我收到错误 "Unexpected Character ` ?`"

javascript - browserify 多个模块 |与 envify 和 brfs