gpt4 book ai didi

Node.js + browserify - 错误 : Cannot find module 'cls-bluebird'

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:11 40 4
gpt4 key购买 nike

我正在尝试运行这个简单的代码,以使用node.js模型在我的浏览器上运行 - 使用browserify。

test2.js:

var gplay = require('google-play-scraper');

function get_vars(){

var keyword = document.getElementById("keyword");
var limit = document.getElementById("limit");

console.log(keyword);
console.log(limit);

get_search_results(keyword, limit);

}

function get_search_results(keyword, limit){


gplay.search({
term: keyword,
num: limit
}).then(console.log, console.log);

}

index.html:

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="test2.js"></script>
</head>
<body>

<input type="text" name="keyword" id="keyword" />
<input type="text" name="limit" id="limit">

<button onclick="get_vars();">GO!</button>

</body>
</html>

每当我在 CMD 上运行 browserify test2.js -o bundle2.js 时,我都会得到以下输出:

Error: Cannot find module 'cls-bluebird' from 'C:\wamp\www\nodetest\node_modules\request-promise\lib'
at C:\Users\banana\AppData\Roaming\npm\node_modules\browserify\node_modules\resolve\lib\async.js:46:17
at process (C:\Users\banana\AppData\Roaming\npm\node_modules\browserify\node_modules\resolve\lib\async.js:173:43)
at ondir (C:\Users\banana\AppData\Roaming\npm\node_modules\browserify\node_modules\resolve\lib\async.js:188:17)
at load (C:\Users\banana\AppData\Roaming\npm\node_modules\browserify\node_modules\resolve\lib\async.js:69:43)
at onex (C:\Users\banana\AppData\Roaming\npm\node_modules\browserify\node_modules\resolve\lib\async.js:92:31)
at C:\Users\banana\AppData\Roaming\npm\node_modules\browserify\node_modules\resolve\lib\async.js:22:47
at FSReqWrap.oncomplete (fs.js:117:15)

尝试安装npm install bluebird,但没有任何变化,我在任何地方都找不到此错误。

可能是什么问题?

最佳答案

cls-bluebird 被定义为 request-promise 的开发依赖项(它又由 google-play-scraper 使用)。

request-promise 中使用 cls-bluebird 的方式“迷惑”了 Browserify,认为它是常规依赖项,因此它尝试将其包含在生成的包中。但是,由于在 npm install PACKAGE 期间通常不会安装开发依赖项,因此它会丢失,并且您会收到有关缺少模块的错误。

最简单的解决方案是手动安装 cls-bluebird:

$ npm i cls-bluebird

这允许 Browserify 找到它。如果您有自己的 package.json,则可以添加 --save

或者,您可以安装包含所有开发依赖项的 google-play-scraper:

$ npm i google-play-scraper --dev

但是,这将为 google-play-scraper 所依赖的所有模块安装所有开发依赖项,这使得安装需要很长时间。

关于Node.js + browserify - 错误 : Cannot find module 'cls-bluebird' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37586384/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com