【问题标题】:Cannot find module 'jquery' when using browserify使用browserify时找不到模块'jquery'
【发布时间】:2015-07-28 12:32:26
【问题描述】:

我正在尝试将 browserify 用于小型 Web 应用程序,我想要什么 实现是非常基本的:我希望能够require('jquery') in 我的 JS 代码,而不是将依赖项与 <script> 标记链接 HTML 代码。

所以,我在名为main.js 的 JS 文件的第一行中有这个:

require('jquery');

然后,我启动 browserify 生成bundle.js:

browserify main.js -o bundle.js

输出:

Error: Cannot find module 'jquery' from /home/matias/dev/app/js

但是,jquery 似乎已正确安装:

npm -g list | grep jquery

返回jquery@2.1.4

知道我做错了什么吗?

编辑:“本地”安装模块(不带 -g 选项)似乎可以与 browserify 一起使用 - 这是正确的做法吗?我更喜欢使用全局安装的模块。

【问题讨论】:

    标签: jquery npm browserify


    【解决方案1】:

    强烈建议在本地安装模块。这样,每个项目都依赖于它需要的特定版本,并且不存在因向后不兼容的更改而退化的风险。当你升级一个全局模块时,任何依赖它的东西都可能会损坏。

    无论您是否使用 browserify,npm 依赖项都应固定为特定版本(可能是创作时的最新版本)。只有当您有时间使用npm-check-updates 等工具进行测试并确保没有任何问题时,才应升级它们(超过主要版本)。

    说了这么多,你可以在你的项目目录中运行npm link jquery,将本地依赖项(在 node_modules 中)符号链接到全局安装的 jquery。这在开发依赖模块时很有帮助,但不适合正常使用。

    根据您的情况,使用本地依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-05
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-22
      相关资源
      最近更新 更多