0

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

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

[13:24:27] { [Error: Cannot find module 'jquery.mixitup.js' from '/Users/antonioortiz/Dropbox/developer_folder/browserify_app/app/_js']

这是我的设置:

包.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上应该完成获取非'node_modules'对吗?有没有人介意直接设置记录,因为对于我的生活,我无法正确配置它。但更重要的是,我很想知道发生了什么!

谢谢!

更新

因此,如果您 var mixitup = require('./../bower_components/mixitup/build/jquery.mixitup.min.js');app.js文件中使用它,它就会出现。但那又有什么意义呢browserify-shim。我虽然应该允许您使用缩短的约定:

就我而言,它将是:

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

更新

根据尼克的建议尝试了这个,当然我没有使用 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: 
4

1 回答 1

0

Browserify-shim 允许您根据您提供的映射导出模块。mixitup因此,在您的示例中,您应该通过eg要求您的模块var mixitup = require('mixitup');。您收到一个模块错误,因为您正在寻找一个名为jquery.mixitup.js. 有关节点模块系统如何工作的更多信息,请点击此处

您不需要exports因为 browserify-shim 默认导出别名(docs):

"mixitup": {
  "depends": "jQuery"
}

debowerify如果你正在使用,你也不需要使用browserify-shim.

于 2015-10-10T20:31:37.653 回答