Jquery 完全搞不清楚browserify和browserify垫片应该如何工作

Jquery 完全搞不清楚browserify和browserify垫片应该如何工作,jquery,browserify,browserify-shim,Jquery,Browserify,Browserify Shim,好吧,我开始简单地理解发生了什么: 所以我有一个依赖于jQuery的插件,从这里开始,我将在此基础上构建并简单地添加更多。然而,我唯一能开始工作的就是jQuery本身 这是我从终端收到的错误: [13:24:27] { [Error: Cannot find module 'jquery.mixitup.js' from '/Users/antonioortiz/Dropbox/developer_folder/browserify_app/app/_js'] 以下是我的设置: package

好吧,我开始简单地理解发生了什么: 所以我有一个依赖于jQuery的插件,从这里开始,我将在此基础上构建并简单地添加更多。然而,我唯一能开始工作的就是jQuery本身

这是我从终端收到的错误:

[13:24:27] { [Error: Cannot find module 'jquery.mixitup.js' from '/Users/antonioortiz/Dropbox/developer_folder/browserify_app/app/_js']
以下是我的设置:

package.json

"main": "./app/_js/app.js", //entry point for your app
"browserify": {
    "transform": [
        "browserify-shim", // Is this supposed to help with the non `node_module` pacakages?
         "debowerify"
    ]
},

"browser": { // This gives browserify the location of your plugin right?
    "mixitup": "./bower_components/mixitup/src/jquery.mixitup.js"
},

"browserify-shim": { 
    "jQuery": "global:jQuery",
    "mixitup": {
        "depends": "jQuery",
        "exports": "mixitup"

    }
基本上,browserify shim应该完成获取非“节点\模块”的任务,对吗?有人介意把记录澄清一下吗,因为就我个人而言,我无法正确地配置它。但更重要的是,我想知道发生了什么

谢谢

更新

因此,如果您使用 var mixitup=require'/../bower_components/mixitup/build/jquery.mixitup.min.js';在app.js文件中,它可以正常工作。但是browserify垫片的意义是什么呢。我认为它应该允许你使用缩短的约定:

就我而言,这将是:

var mixitup = require('jquery.mixitup.js');
更新

基于Nick的建议,我尝试了这个,当然我没有使用proxyquireify。任何人都有另一种方法。因为我还在杂草丛中

"browser": {
        "jQuery": "global:jQuery",
        "mixitup": "/app/bower_components/mixitup/src/jquery.mixitup.js",
        "Mustache": "/app/bower_components/jquery-Mustache/jquery.mustache.js",
        "mustache": "mustache"
    }
但是没有成功

还收到一条比上一条更神秘的错误消息:

{ [Error: ENOENT, lstat '/app']
  errno: 34,
  code: 'ENOENT',
  path: '/app',
  stream: 

Browserify shim makes允许您根据提供的映射导出模块。因此,在您的示例中,您应该通过mixitup要求您的模块,例如var mixitup=require'mixitup';。您正在查找名为jquery.mixitup.js的模块,因此出现模块错误。有关节点模块系统如何工作的更多信息

您不需要导出,因为browserify shim默认导出别名:


如果您使用的是browserify shim,您也不需要使用debowerify。

嘿,Nick,进行了一些搜索,结果显示proxyquire与测试有关?因此,我认为您建议的其余部分需要实现proxquire?太好了!嘿,根据你的经验,你有没有遇到过一个好的TUT,它可能是从jQuery和另一个插件开始的。只是为了让我变得更冷淡。在broserify doc页面上有一个,关于余烬,但我显然还是有点绿!谢谢
"mixitup": {
  "depends": "jQuery"
}