我正在尝试将我的应用程序与浏览器捆绑在一起,但收到此错误:Cannot find module 'jquery' from '/home/test/node_modules/backbone'
以前有人问过这种性质的问题,但解决方案对我没有帮助。也许我有一个独特的案例。
在另一个应用程序中,运行npm install jquery
修复了它。我的package.json
里没有它,我不需要像这里所做的那样在我的任何文件中jquery
。一切都奏效了。
在这个新应用程序中,它没有。我尝试用npm重新安装jquery。无。将其添加到我的依赖项中 package.json
.无。将其包含在我的代码中:
$ = require('jquery'); Backbone.$ = $;
无。
有人有这方面的经验吗?可能出现什么问题?
编辑:
比较了工作应用程序中 jquery 模块和当前模块的package.json
。
工作一:
"url": "https://github.com/jquery/jquery.git"
"_from": "jquery@*"
坏的:
"url": "git+https://github.com/jquery/jquery.git"
"_from": "jquery@>=2.1.0 <3.0.0"
"readme": "ERROR: No README data found!"
如果您想要更多上下文(行号、父属性等(,我很乐意提供。我只是想简化它 - 也许有些东西很突出。
编辑 2:
更改"url"
参数不应更改任何内容。用有效的"_from"
替换并没有改变任何东西。
现在,我想知道为什么找不到README data
。我的自述文件是相同的。当然,我非常怀疑这是问题的根源。
编辑3:
我的解决方案是删除 jquery 模块,只在我的索引视图中包含 jquery.js。我对此不是特别满意,但它有效。
不过,我仍然想要一个答案;好奇以前出了什么问题。
应该适用于npm install --save jquery
。似乎browserify
backbone
位置搜索jquery
模块。你能找出为什么会这样吗?您的package.json
中没有一些browserify-shim
配置错误吗?
如果您仍然有问题,您可以使用browserify-shim
将其放入package.json
来将browserify
指向正确的位置
"browserify": {
"transform": [
"browserify-shim"
]
},
"browser": {
"jquery": "./node_modules/yet/old/jquery/location"
}