【发布时间】:2014-08-02 21:15:25
【问题描述】:
我正在使用browserify 来捆绑前端代码。到目前为止一切都很好,但是我在混合 npm 和非 npm 包时遇到了困难。例如,使用 npm 版本的 jQuery 和非 CJS 版本的 jQuery 插件。
我目前的解决方案是使用package.json中的browser键指向jQuery的dist,然后使用browserify-shim将其添加为插件的依赖项。
有没有比我目前拥有的更清洁的方法?
编辑:我目前正在尝试使用 npm 和 package.json 来管理我的所有依赖项,所以我不想在这个项目上使用 bower。叫我疯了:)
Package.json
{
"dependencies": {
"jquery": "~2.1.0",
"browserify": "latest",
"browserify-shim": "^3.5.0",
"jquery-waypoints": "git@github.com:imakewebthings/jquery-waypoints.git",
"jquery-validation": "git://github.com/jzaefferer/jquery-validation"
},
"browser": {
"jquery": "./node_modules/jquery/dist/jquery.js",
"jquery-waypoints": "./node_modules/jquery-waypoints/waypoints.js",
"jquery-validate": "./node_modules/jquery-validation/build/release.js"
},
"browserify-shim": {
"jquery": "$",
"jquery-waypoints": {
"depends": [
"jquery"
]
},
"jquery-validate": {
"depends": [
"jquery"
]
}
},
"browserify": {
"transform": [
"browserify-shim"
]
}
}
【问题讨论】:
-
我目前正在处理同样的问题。别名
jquery和./node_modules/jquery/dist/jquery.js是否会在您的最终包中创建 jQuery 的副本?或者,package.json有什么问题? -
@MichaelMartin-Smucker 工作正常(没有重复的
jquery),但我不喜欢通过 shim 配置手动配置——我很懒 :)。祝你好运! -
非常感谢!这个问题回答了我的问题。我无法让 jquery.mmenu 工作,但您的代码向我展示了如何工作。 +1 用于在问题中显示工作代码 :)
-
@NickTomlin 我知道这是一个老问题,但该代码是否像您所拥有的那样工作?还是您的 jQuery 插件不能那样工作?
-
@YPCrumble 代码按原样工作。我只是想要一种更清洁的方式来做到这一点:)
标签: jquery node.js browserify browserify-shim