浏览器化 - 找不到模块'jquery'



我正在尝试将我的应用程序与浏览器捆绑在一起,但收到此错误:
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"
  }

最新更新