Loopback CLI 创建的 PersistedModel 属性在模型 json 更新后不起作用

Loopback CLI created PersistedModel properites not working when model json updated

我在 mac 终端中使用以下命令行工具创建了一个模型,并使用 PersistedModel 创建了模型名称。

lb model

我有相应的 json 和模型的 js 文件,json 结构如下所示。

 {
 "name": "otp",
 "base": "PersistedModel",
 "idInjection": true,
 "options": {
   "validateUpsert": true
 },
"properties": {
   "otpnumber": {
   "type": "string",
   "required": true
 },
 "friends": {
  "type": "string",
  "required": true
  }
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}

这些是从命令 line/terminal 生成的。现在我需要向这个模型添加一些属性,我编辑这个模型 json 如下

 {
 "name": "otp",
 "base": "PersistedModel",
 "idInjection": true,
 "options": {
   "validateUpsert": true
 },
"properties": {
   "otpnumber": {
   "type": "string",
   "required": true
 },
 "friends": {
  "type": "string",
  "required": true
  },
 "firstName": {
  "type": "string",
  "required": true
  },
  "city": {
  "type": "string",
  "required": true
  }
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}

编辑 json 文件后,我重新启动了本地主机服务器,发现终端出现以下错误。

events.js:183
  throw er; // Unhandled 'error' event
  ^

Error: listen EADDRINUSE 0.0.0.0:3000
at Object._errnoException (util.js:1024:11)
at _exceptionWithHostPort (util.js:1046:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at doListen (net.js:1501:7)
at _combinedTickCallback (internal/process/next_tick.js:141:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
at Function.Module.runMain (module.js:678:11)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
npm verb lifecycle Verification@1.0.0~start: unsafe-perm in lifecycle true 
npm verb lifecycle Verification@1.0.0~start: PATH: 
/usr/local/lib/node_modules/npm/bin/node-gyp bin:/Users/xxx/Desktop/Samples/Verification/node_modules/.bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
npm verb lifecycle Verification@1.0.0~start: CWD: /Users/xxx/Desktop/Samples/Verification
npm info lifecycle Verification@1.0.0~start: Failed to exec start script
npm verb stack Error: Verification@1.0.0 start: `node .`
npm verb stack Exit status 1
npm verb stack     at EventEmitter.<anonymous> 
(/usr/local/lib/node_modules/npm/node_modules/npm-
lifecycle/index.js:280:16)
npm verb stack     at emitTwo (events.js:126:13)
npm verb stack     at EventEmitter.emit (events.js:214:7)
npm verb stack     at ChildProcess.<anonymous>         (/usr/local/lib/node_modules/npm/node_modules/npm-    lifecycle/lib/spawn.js:55:14)
npm verb stack     at emitTwo (events.js:126:13)
npm verb stack     at ChildProcess.emit (events.js:214:7)
npm verb stack     at maybeClose (internal/child_process.js:925:16)
npm verb stack     at Process.ChildProcess._handle.onexit     (internal/child_process.js:209:5)
npm verb pkgid Verification@1.0.0
npm verb cwd /Users/xxx/Desktop/Samples/Verification
npm verb Darwin 17.0.0
npm verb argv "/usr/local/Cellar/node/8.9.0/bin/node"     "/usr/local/bin/npm" "start" "-verbose"
npm verb node v8.9.0
npm verb npm  v5.5.1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Verification@1.0.0 start: `node .`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the Verification@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely     additional logging output above.
npm verb exit [ 1, true ]

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xxx/.npm/_logs/2017-11-01T12_14_39_706Z-debug.log

Error: listen EADDRINUSE 0.0.0.0:3000表示3000端口正在使用中。试试这个解决方案来关闭它:How do I close an open port from the terminal on the Mac?

关闭端口后,您应该能够再次启动应用程序。