使用browserify时找不到模块'jquery'

时间:2015-07-28 12:32:27

标签: jquery npm browserify

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

所以,我在我的JS文件的第一行名为main.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一起使用 - 这是正确的方法吗?我更愿意使用全局安装的模块。

1 个答案:

答案 0 :(得分:4)

强烈建议在本地安装模块。这样,每个项目都依赖于它所需的特定版本,并且不存在由向后不兼容的更改进行回归的风险。升级全局模块时,依赖于它的任何内容都可能会中断。

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

所有这些,您可以从项目目录中运行npm link jquery,以使本地依赖项(在node_modules中)符号链接到全局安装的jquery。这在开发依赖模块时很有用,但它不适合正常使用。

在您的情况下,请使用本地依赖项。