Parse-Server 本地安装 - 外部模块

Posted

技术标签:

【中文标题】Parse-Server 本地安装 - 外部模块【英文标题】:Parse-Server Local Installation — external modules 【发布时间】:2016-03-26 18:03:04 【问题描述】:

我在本地机器 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)

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

[更新]

我全局安装了下划线库(node install -g underscore)。

我创建了一个符号链接 cloud ->

接下来我用 npm init 命令创建了 package.json

我再次启动 npm install

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

我用 node app.js

启动了服务器

一切顺利。现在的问题在于创建新文档的权限,我应该已经拥有该授权,但这将是另一个需要解决的问题。我希望这可以帮助其他人

【问题讨论】:

【参考方案1】:

我遇到了同样的问题和错误信息。我做了以下,它的工作原理

    npm 安装下划线 使用此路径: var _ = require('../node_modules/underscore/underscore.js')

请参阅这篇文章中的更多详细信息。

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

【讨论】:

【参考方案2】:

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

var _ = require('underscore.js'); 必须在 Parse.com 上这样做。但现在我们在 NodeJS 上并拥有 NPM——这样做就足够了:

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

【讨论】:

以上是关于Parse-Server 本地安装 - 外部模块的主要内容,如果未能解决你的问题,请参考以下文章

docker 容器上 Parse-server 的自定义身份验证 (OAuth2)

常用模块_python外部模块安装

分清全局安装与本地安装

Parse-Server 安装中的 MongoError write EPIPE”

Parse-Server - 无法从远程机器上的数据库中获取数据

Cordova 外部应用程序 + 本地视频