我最初有一个使用private/settings.json
资产的应用。在尝试使用此应用制作软件包时,我将该资源放入packages/x:package/config/settings.json
,并在package.js' s .onUse
添加
api.addFiles('config/settings.json', 'server', { isAsset: true });
我在包中成功使用它
settings = JSON.parse(Assets.getText('config/settings.json'));
直到我删除了private/settings.json
。我现在得到了
TypeError: Cannot read property 'token' of undefined
如果我只保留private/settings.json
,而是删除packages/x:package/config/settings.json
(也从package.js中的config/
更改为private/
,包等等)
error: File not found: private/settings.json
(如何)我可以拥有仅包装本地的资产?或者,如何在包中的private/
中包含/使用全局资产?
答案 0 :(得分:4)
我认为包装无法访问应用程序private
目录中的资产是有道理的。否则,程序包可能会意外泄露您应用程序的私人设置或资产。
听起来你想要的是在应用程序和包之间共享你的settings.json文件。有几种方法可以做到这一点:
setSettings
的方法,该方法允许该应用加载其设置,然后将其传递到您的软件包中。meteor --settings private/settings.json
启动您的应用,而不是从资产中获取设置。