使用本地存储连接器时 StrongLoop 中的 ng-lb 命令失败

ng-lb command in StrongLoop fails when using local-storage-connector

尊敬的 Strongloop 社区 我正在按照 loopback 提供的示例来评估本地存储数据存储。 它工作正常,我可以使用其余 API 从本地文件系统(用作数据源)创建和检索文件。 我不得不使用“$ npm install loopback-component-storage --save”。

datasource.json中定义的数据源是:

{
  "db": {
    "name": "db",
    "connector": "memory"
  },
  "localFileSystemStorage": {
    "name": "localFileSystemStorage",
    "connector": "loopback-component-storage",
    "provider": "filesystem",
    "root": "./property_data"
  }
}

./property_data 目录是存储所有数据的地方。 (相对于项目目录)我可以通过休息访问它没有问题。

接下来我试图生成 Angular 服务组件,这样我就可以使用 Angular 应用程序连接到环回服务器。所以在我执行的客户端目录中:

../example-2.0/client$  lb-ng  ../server/server.js js/lb-services.js

失败了:

/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback-component-storage/lib/providers/filesystem/index.js:25
    throw new Error('FileSystemProvider: Path does not exist: ' + this.root);
          ^
Error: FileSystemProvider: Path does not exist: ./server/storage
    at new FileSystemProvider (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback-component-storage/lib/providers/filesystem/index.js:25:11)
    at Object.module.exports.createClient (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback-component-storage/lib/providers/filesystem/index.js:17:10)
    at Object.createClient (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback-component-storage/lib/factory.js:86:18)
    at new StorageService (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback-component-storage/lib/storage-service.js:29:25)
    at Object.exports.initialize (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback-component-storage/lib/storage-connector.js:12:19)
    at DataSource.setup (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback-datasource-juggler/lib/datasource.js:332:17)
    at new DataSource (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback-datasource-juggler/lib/datasource.js:109:8)
    at Registry.createDataSource (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback/lib/registry.js:349:12)
    at dataSourcesFromConfig (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback/lib/application.js:415:19)
    at EventEmitter.app.dataSource (/home/eval/projects/loopback-component-storage/example-2.0/node_modules/loopback/lib/application.js:222:12)

我是不是漏掉了什么? 我真的可以在这里使用一些帮助。

谢谢

datasource.json 文件中,您提供了相对于 /server 文件夹的相对路径 ./property_data

因此您只需调用该文件夹中的任何方法。

现在,当您通过服务器 运行 它时,您就会从 /server 文件夹中 运行 它,这就是为什么它运行没有问题,但对于 angular Sdk 生成您是从 client/ 文件夹中进行的。因此它产生了 Path does not exist 错误。

因此正确的语法是:

 ../example-2.0/server$  lb-ng  server.js ../client/js/lb-services.js