使用 browserify 时找不到模块 'jquery'
Cannot find module 'jquery' when using 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
returns jquery@2.1.4
.
知道我做错了什么吗?
编辑:安装模块'locally'(没有-g 选项)似乎可以与browserify 一起使用——这是正确的做法吗?我更愿意使用全局安装的模块。
强烈建议在本地安装模块。这样,每个项目都取决于它需要的特定版本,并且不存在因向后不兼容的更改而导致回归的风险。当你升级一个全局模块时,任何依赖它的东西都可能会崩溃。
无论您是否使用 browserify,npm 依赖项都应固定为特定版本(可能是创作时的最新版本)。只有在您有时间使用 npm-check-updates.
等工具进行测试并确保没有任何问题时,才应升级它们(超过主要版本)
综上所述,您可以从项目目录中运行 npm link jquery
创建本地依赖项(在node_modules中)符号链接到全局安装的 jquery。这在开发依赖模块的时候很有用,但不适合正常使用。
根据您的情况,使用本地依赖项。
我正在尝试将 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
returns jquery@2.1.4
.
知道我做错了什么吗?
编辑:安装模块'locally'(没有-g 选项)似乎可以与browserify 一起使用——这是正确的做法吗?我更愿意使用全局安装的模块。
强烈建议在本地安装模块。这样,每个项目都取决于它需要的特定版本,并且不存在因向后不兼容的更改而导致回归的风险。当你升级一个全局模块时,任何依赖它的东西都可能会崩溃。
无论您是否使用 browserify,npm 依赖项都应固定为特定版本(可能是创作时的最新版本)。只有在您有时间使用 npm-check-updates.
等工具进行测试并确保没有任何问题时,才应升级它们(超过主要版本)综上所述,您可以从项目目录中运行 npm link jquery
创建本地依赖项(在node_modules中)符号链接到全局安装的 jquery。这在开发依赖模块的时候很有用,但不适合正常使用。
根据您的情况,使用本地依赖项。