google-trends-api npm找不到使用browserify的模块

我试图用browserify来使用google-trends-api npm软件包,但却无处可去。 这是我的main.js文件

 var googleTrends = require('google-trends-api'); var options = { geo: 'country name', date: 'yyyymm', keywords: ['some', 'list', 'of', 'keywords'], category: 'some category' }; googleTrends.apiMethod(options) .then(function(results){ console.log("Here are your google trend results!", results); }) .catch(function(err){ console.log("there was an error :(", err); }); 

这里是我的bundle.js

 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ var googleTrends = require('google-trends-api'); // var options = { // geo: 'country name', // date: 'yyyymm', // keywords: ['some', 'list', 'of', 'keywords'], // category: 'some category' // }; // googleTrends.apiMethod(options) // .then(function(results){ // console.log("Here are your google trend results!", results); // }) // .catch(function(err){ // console.log("there was an error :(", err); // }); },{"google-trends-api":2}],2:[function(require,module,exports){ (function (__dirname){ 'use strict'; module.exports = require(__dirname + '/lib/utils/'); }).call(this,"/node_modules/google-trends-api") },{}]},{},[1]); 

这是我得到的错误:

 bundle.js:1 Uncaught Error: Cannot find module '/node_modules/google-trends-api/lib/utils/index.js' 

不知道这可能是真的难倒了。 我在Mac上,消息出现在浏览器的控制台中。

google-trends-api模块包含requireexpression式的require调用:

 module.exports = require(__dirname + '/lib/utils/'); 

而这个expression式对Browserify会造成问题,因为它不会分析这个require ,并且不包括进一步的依赖关系。

然而,无视这一点, google-trends-api模块至less有一个与浏览器中的用法不兼容的依赖关系 ,所以即使您要解决expression式中的require -calls问题,它也不能工作浏览器。