如何设置node-googlemaps?缺乏关于安装Node包的一些隐含知识

时间:2016-03-30 02:03:35

标签: javascript node.js google-maps google-maps-api-3 npm

我正在https://github.com/moshen/node-googlemaps尝试使用node-googlemaps npm包。该文档假定用户知道一般的NodeJS包安装过程。

首先,我用npm安装它:

npm install googlemaps

现在在我的server.js根文件中,我知道我需要导入实际文件。类似于:

var gmaps = require('./node_modules/googlemaps/libs/index');

但我这不正确。也许我错过了一些安装NodeJS包的惯例。在这种情况下,我很乐意学习!

README.md提到设置配置如下:

var publicConfig = {
  key: '<YOUR-KEY>',
  stagger_time:       1000, // for elevationPath
  encode_polylines:   false,
  secure:             true, // use https
  proxy:              'http://127.0.0.1:9999' // optional, set a proxy for HTTP requests
};
var gmAPI = new GoogleMapsAPI(publicConfig);

但我收到错误“GoogleMapsAPI”未定义。有道理,我还没有导入js文件。那我该怎么做?在项目中安装/包含NodeJS软件包的标准流程是什么?

1 个答案:

答案 0 :(得分:2)

两件事:

a)当您将软件包安装到项目中时,应使用--save选项,以便可以在项目的package.json文件中跟踪它。除此之外,当您将内容提交到版本控制时,它会有所帮助,因为您可以从存储库中排除node_modules目录。

npm install googlemaps --save

b)当您从NPM呼叫require包时,您无需输入完整路径!只需使用:

var GoogleMapsAPI = require('googlemaps');

var publicConfig = {
  key: '<YOUR-KEY>',
  stagger_time:       1000, // for elevationPath
  encode_polylines:   false,
  secure:             true, // use https
  proxy:              'http://127.0.0.1:9999' // optional, set a proxy for HTTP requests
};

var gmAPI = new GoogleMapsAPI(publicConfig);

它会自动获取导出的对象,无论是被定义为包的'main'文件 - 在本例中是lib/index.js,它都会导出GoogleMapsAPI构造函数。