解析服务器本地安装 - 外部模块

时间:2016-03-26 18:03:04

标签: node.js underscore.js parse-server

我在本地计算机from this GUID上成功安装了Parse-Server。 我首先尝试全局安装,然后我试着更好地理解(这是我第一次看到与Node.js相关的内容)并且我安装在本地目录中。我认为应该是一样的。

这就是我所做的:

npm install parse-server parse-dashboard underscore

这就是目录的样子:

/parse: ls
dashboard-config.json       
logs              
node_modules

ls node_modules/underscore
LICENSE        
README.md      
package.json   
underscore-min.js
underscore-min.map 
underscore.js

ls node_modules/parse
parse/           
parse-dashboard/ 
parse-json/      
parse-server/
parseurl/

接下来,我尝试包含我开发的云代码。 main.js有这样的内容:

//var Image = require("parse-image");
var _ = require('underscore');
...

这就是我启动服务器的方式:

node_modules/parse-server/bin/parse-server \
  --appId APPID --masterKey MASTERKEY \
  --databaseURI mongodb://localhost:27017/MyAPP \
  --cloud /absolutepathfor/MyApp/cloud/main.js 

和我得到的错误

module.js:341
throw err;
^

Error: Cannot find module 'underscore'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (/Users/......./main.js:2:9)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)

如何在这种情况下包括下划线,但在任何情况下都包含其他库?

[更新]

我全局安装了下划线库(节点安装-g下划线)。

我创建了一个符号链接云 - &gt; &LT;路径位于cloud / main.js&gt;

接下来,我使用 npm init 命令

创建了package.json

我再次启动npm install

我创建了guid中描述的app.js,我使用上面相同的参数进行配置。

我使用节点app.js

启动了服务器 一切都很好。现在的问题是创建一个新文档的权限,我应该已经有了这个授权,但这将是另一个需要解决的问题。我希望这可以帮助其他人

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题和错误消息。我做了以下工作

  1. npm install underscore
  2. 使用此路径: var _ = require('../ node_modules / underscore / underscore.js')
  3. 请参阅本文中的更多详细信息。

    Can't get 'underscore' to work with parse server

答案 1 :(得分:1)

我在将Parse.com CloudCode传输到Nodejs上的自托管解析服务器时,只是对类似问题进行了排序;在其中一个控制器中,我们有了这条线

var _ = require('underscore.js'); 必须在Parse.com上这样做。但是现在我们在NodeJS上并拥有NPM - 它足以做到:

var _ = require('underscore'); (即:删除.js扩展名)