2016-09-02 44 views
2

我試圖用browserify使用google-trends-api npm包,但我無處可去。這是我的main.js文件google-trends-api npm沒有找到使用browserify的模塊

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上,並且消息出現在瀏覽器的控制檯中。

回答

2

google-trends-api模塊包含require調用,包括表達式:

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

這表達引起問題爲Browserify,因爲它不分析所述require並且不包括進一步的依賴關係。

然而,無視的是,google-trends-api模塊具有至少一個dependency不是在瀏覽器中使用兼容的,所以即使你是解決表達-IN-require -calls問題,它不會工作在瀏覽器。

+0

更多想法如何使用它在客戶端。 – Lakshya