Sails.JS: TypeError: Cannot read property 'pkg' of undefined
Sails.JS: TypeError: Cannot read property 'pkg' of undefined
尝试 运行 我的简单 Sails.JS 应用程序(包括 swaggerui)时,出现以下错误:
$ sails lift
info: Starting app...
debug: hookPath: DummyPath\Software\MyService\node_modules\sails-swagger\dist\api\hooks\swagger
debug: marlinspike (swagger): loading config from DummyPath\Software\MyService\node_modules\sails-swagger\dist\config
debug: marlinspike (swagger): loading Services from DummyPath\Software\MyService\node_modules\sails-swagger\dist\api\services...
warn: marlinspike (swagger): no Services found. skipping
debug: marlinspike (swagger): loading Models...
debug: marlinspike (swagger): loading Controllers...
debug: marlinspike (swagger): loading Policies...
warn: marlinspike (swagger): no Policies found. skipping
DummyPath\Software\MyService\node_modules\sails-swagger\dist\api\hooks\swagger\index.js:49
hook.doc = _libXfmr2['default'].getSwagger(_this.sails, _this.sails.config.swagger.pkg);
^
TypeError: Cannot read property 'pkg' of undefined
at DummyPath\Software\MyService\node_modules\sails-swagger\dist\api\hooks\swagger\index.js:49:91
at DummyPath\Software\MyService\node_modules\sails\lib\app\private\after.js:91:14
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:721:13
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:52:16
at done (DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:246:17)
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:44:16
at Sails.<anonymous> (DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:718:17)
at Sails.<anonymous> (DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:167:37)
at Object.onceWrapper (events.js:293:19)
at emitNone (events.js:86:13)
at Sails.emit (events.js:188:7)
at Sails.emitter.emit (DummyPath\Software\MyService\node_modules\sails\lib\app\private\after.js:50:11)
at sailsReady (DummyPath\Software\MyService\node_modules\sails\lib\app\lift.js:53:11)
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:721:13
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:52:16
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:269:32
npm install、npm uninstall sails 或 npm cache clear 不起作用。
我已经尝试重新安装 g运行t-cli 并再次 sails-swagger ...
这里有人有解决方案吗?
github.com 上的问题也已打开...
使用 sails-swagger 时,您还必须在 sails 应用程序的配置目录中为 swagger 创建一个配置文件。此配置文件设置一个指向您的 sails 应用程序的 package.json 文件的 pkg 变量。
上面的错误基本上是说找不到 属性 pkg,因此 swagger 将无法工作。
要解决此问题,请先在配置目录中创建一个名为 swagger.js 的文件。
然后将以下内容添加到 swagger.js 文件
module.exports.swagger = {
/**
* require() the package.json file for your Sails app.
*/
pkg: require('../package'),
ui: {
url: 'http://swaggerui.balderdash.io'
}
};
尝试 运行 我的简单 Sails.JS 应用程序(包括 swaggerui)时,出现以下错误:
$ sails lift
info: Starting app...
debug: hookPath: DummyPath\Software\MyService\node_modules\sails-swagger\dist\api\hooks\swagger
debug: marlinspike (swagger): loading config from DummyPath\Software\MyService\node_modules\sails-swagger\dist\config
debug: marlinspike (swagger): loading Services from DummyPath\Software\MyService\node_modules\sails-swagger\dist\api\services...
warn: marlinspike (swagger): no Services found. skipping
debug: marlinspike (swagger): loading Models...
debug: marlinspike (swagger): loading Controllers...
debug: marlinspike (swagger): loading Policies...
warn: marlinspike (swagger): no Policies found. skipping
DummyPath\Software\MyService\node_modules\sails-swagger\dist\api\hooks\swagger\index.js:49
hook.doc = _libXfmr2['default'].getSwagger(_this.sails, _this.sails.config.swagger.pkg);
^
TypeError: Cannot read property 'pkg' of undefined
at DummyPath\Software\MyService\node_modules\sails-swagger\dist\api\hooks\swagger\index.js:49:91
at DummyPath\Software\MyService\node_modules\sails\lib\app\private\after.js:91:14
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:721:13
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:52:16
at done (DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:246:17)
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:44:16
at Sails.<anonymous> (DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:718:17)
at Sails.<anonymous> (DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:167:37)
at Object.onceWrapper (events.js:293:19)
at emitNone (events.js:86:13)
at Sails.emit (events.js:188:7)
at Sails.emitter.emit (DummyPath\Software\MyService\node_modules\sails\lib\app\private\after.js:50:11)
at sailsReady (DummyPath\Software\MyService\node_modules\sails\lib\app\lift.js:53:11)
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:721:13
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:52:16
at DummyPath\Software\MyService\node_modules\sails\node_modules\async\lib\async.js:269:32
npm install、npm uninstall sails 或 npm cache clear 不起作用。 我已经尝试重新安装 g运行t-cli 并再次 sails-swagger ... 这里有人有解决方案吗?
github.com 上的问题也已打开...
使用 sails-swagger 时,您还必须在 sails 应用程序的配置目录中为 swagger 创建一个配置文件。此配置文件设置一个指向您的 sails 应用程序的 package.json 文件的 pkg 变量。
上面的错误基本上是说找不到 属性 pkg,因此 swagger 将无法工作。
要解决此问题,请先在配置目录中创建一个名为 swagger.js 的文件。
然后将以下内容添加到 swagger.js 文件
module.exports.swagger = {
/**
* require() the package.json file for your Sails app.
*/
pkg: require('../package'),
ui: {
url: 'http://swaggerui.balderdash.io'
}
};