流星:无法读取未定义的 属性 'config'

Meteor: Cannot read property 'config' of undefined

我正在尝试在移动 angular-meteor 应用程序中实施帐户-ui。我已经安装了所有依赖项,我正在尝试使用以下代码设置 Accounts.ui.config:

   import { Accounts } from 'meteor/accounts-base';

   Accounts.ui.config({
     passwordSignupFields: 'USERNAME_AND_EMAIL'
   });

但是当我尝试 运行 应用程序时,出现以下错误:

TypeError: Cannot read property 'config' of undefined
    at meteorInstall.server.auth.js (server/auth.js:4:1)
    at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:153:1)
    at require (packages/modules-runtime/.npm/package/node_modules/install/install.js:82:1)
    at server/publications.js:124:1
    at /home/ubuntu/workspace/musiker/.meteor/local/build/programs/server/boot.js:297:10
    at Array.forEach (native)
    at Function._.each._.forEach (/home/ubuntu/.meteor/packages/meteor-   tool/.1.4.0.hylsrj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
    at /home/ubuntu/workspace/musiker/.meteor/local/build/programs/server/boot.js:133:5

我想也许我需要为页面导入帐户-ui,但 docs 清楚地显示导入帐户库。我也尝试导入帐户-ui,但我仍然遇到同样的错误。

谢谢!

-埃里克

是Accounts.config。

   Accounts.config({
     passwordSignupFields: 'USERNAME_AND_EMAIL'
   });

看起来您正试图在服务器上执行 Accounts.ui.config,但此功能仅在客户端可用。

您需要在客户端代码中添加配置:

import { Accounts } from 'meteor/accounts-base';

Accounts.ui.config({
  passwordSignupFields: 'USERNAME_ONLY',
});

查看here了解更多详情。

在使用之前添加 accounts 包。

在项目根目录下使用此命令添加包
meteor add accounts-ui accounts-password

这应该能让您的代码正常工作。

我有同样的错误。 我先把 JS 放到 lib/startup/accounts-config.js 或 lib/accounts-config.js 里,还是报错。 但是当我把JS放到imports/startup/accounts-config.js里面就生效了。我不知道原因。