代码之家  ›  专栏  ›  技术社区  ›  AMT

错误:无法从EmberCLI中的meta标记读取配置

  •  3
  • AMT  · 技术社区  · 8 年前

    我的EmberCLI应用程序出现以下错误:无法从名为“my app name/config/environment”的元标记读取配置

    我读到这与app/index中车把的正确内容有关。html,但我在那里有所有它们:

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>My app name</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
    
        {{content-for "head"}}
        <link rel="stylesheet" href="assets/vendor.css">
        <link rel="stylesheet" href="assets/my-app-name.css">
    
        {{content-for "head-footer"}}
      </head>
      <body>
        {{content-for "body"}}
    
        <script src="assets/vendor.js"></script>
        <script src="assets/my-app-name.js"></script>
    
        {{content-for "body-footer"}}
      </body>
    </html>
    

    我的配置/环境。js文件是:

    /* jshint node: true */
    
    module.exports = function(environment) {
      var ENV = {
        modulePrefix: 'my-app-name',
        environment: environment,
        contentSecurityPolicy: { 'connect-src': "'self' https://auth.firebase.com wss://*.firebaseio.com" },
        firebase: 'https://my-app-name.firebaseio.com/',
        baseURL: '/',
        locationType: 'auto',
        EmberENV: {
          FEATURES: {
            // Here you can enable experimental features on an ember canary build
            // e.g. 'with-controller': true
          }
        },
    
        APP: {
          // Here you can pass flags/options to your application instance
          // when it is created
        }
      };
    
      if (environment === 'development') {
        // ENV.APP.LOG_RESOLVER = true;
        // ENV.APP.LOG_ACTIVE_GENERATION = true;
        // ENV.APP.LOG_TRANSITIONS = true;
        // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
        // ENV.APP.LOG_VIEW_LOOKUPS = true;
      }
    
      if (environment === 'test') {
        // Testem prefers this...
        ENV.baseURL = '/';
        ENV.locationType = 'none';
    
        // keep test console output quieter
        ENV.APP.LOG_ACTIVE_GENERATION = false;
        ENV.APP.LOG_VIEW_LOOKUPS = false;
    
        ENV.APP.rootElement = '#ember-testing';
      }
    
      if (environment === 'production') {
      }
    
      return ENV;
    };
    

    我是否缺少元标记? 这也是我的浏览器仅在我通过firebase部署应用程序时显示的原因吗

    enter image description here

    谢谢

    1 回复  |  直到 8 年前
        1
  •  3
  •   xcskier56    8 年前

    默认情况下,Ember将配置数据存储在meta标记中。在我的应用程序中,我们选择不存储在meta标签中,我认为是因为需要支持IE8。

    您可以在您的 ember-cli-build.js brocfile.js 添加此行:

    module.exports = function(defaults) {
      var app = new EmberApp({
        //...
      });
      app.options.storeConfigInMeta = false;
    });
    

    您可以在此处阅读更多内容: https://github.com/ember-cli/ember-cli/pull/2298