可以在DART中有配置文件吗?

时间:2016-03-07 15:44:52

标签: dart properties-file

我有这个JavaScript类:

'use strict;'
/* global conf */

var properties = {
    'PROPERTIES': {
        'CHANNEL': 'sport',
        'VIEW_ELEMENTS': {
            'LOADER_CLASS': '.loader',
            'SPLASH_CLASS': '.splash'
        }
    }
};

在JavaScript中,我可以使用以下属性:properties.PROPERTIES.CHANNEL

是否可以将其转换为DART?有这样做的最佳做法吗?

2 个答案:

答案 0 :(得分:3)

有不同的方式。

你可以创建一个地图

<强> my_config.dart

in

然后像

一样使用它

<强> main.dart

const Map properties = const {
  'CHANNEL': 'sport',
  'VIEW_ELEMENTS': const {
    'LOADER_CLASS': '.loader',
    'SPLASH_CLASS': '.splash'
  }
}

或者您可以使用类来获得正确的自动完成和类型检查

<强> my_config.dart

import 'my_config.dart';

main() {
  print(properties['VIEW_ELEMENTS']['SPLASH_CLASS']);
}

<强> main.dart

const properties = const Properties('sport', const ViewElements('.loader', '.splash'));

class Properties {
  final String channel;
  final ViewElements viewElements;
  const Properties(this.channel, this.viewElements;
}

class ViewElements {
  final String loaderClass;
  final String splashClass;
  const ViewElements(this.loaderClass, this.splashClass);
}

答案 1 :(得分:0)

按照上述答案使用类,可以方便地实现静态变量,缺点是仍必须对其进行编译/重建。

class CONFIG {
  static final String BUILD = "Release";
  static final String DEPLOYMENT = "None";
}

在通过以下方式导入后,可以在单独的类中使用它:

var xyz = CONFIG.BUILD;