【问题标题】:Loading and parsing .ini file inside or from a Gruntfile在 Gruntfile 中或从 Gruntfile 加载和解析 .ini 文件
【发布时间】:2015-07-07 09:43:16
【问题描述】:
  • Gruntfile.js 位于project root/Gruntfile.js
  • asset_compress.ini 位于project root/app/Config/asset_compress.ini
  • 使用 Jasmine 编写测试,所有规范都位于 project root/tests/**/*

以下是精简的 Gruntfile。如果您需要更多,请随时询问:

module.exports = function(grunt) {
    'use strict';

    grunt.initConfig({
        jasmine: {
            test: {
                src: [
                    'node_modules/jasmine-expect/dist/jasmine-matchers.js',
                    'app/webroot/js/libraries/jquery-2.0.js',
                    'app/webroot/js/api/ClassUtility.js',
                    'app/webroot/js/api/**/*.js'
                ],
                options: {
                    log: true,
                    specs: [
                        'tests/app/webroot/js/api/ClassUtility.spec.js',
                        'tests/**/*.spec.js'
                    ]
                }
            }
        }
    });
};

ClassUtility(及其规范)需要在 API 的任何其他部分之前加载,因为它包含所有其他“类”所依赖的所有内容。这就是为什么在所有其他 api 类之上特别声明它的原因。

但是,我有许多(!)依赖项和许多其他我需要的文件,它们都存在于(相当大的)asset_compress.ini 中。理想情况下,我希望将单个 ini 文件保留为唯一的列表,并让我的 Gruntfile 从该列表中读取以了解它应该加载哪些源文件。

TLDR: 如何使用我的 ini 文件的内容配置我的 Gruntfile?

【问题讨论】:

  • 使用ini-parser 读取ini文件并从中创建grunt的配置。
  • 谢谢!该库已经过时了,但它让我继续解决问题!
  • 没有注意到!我上周才用过。我发现 ini 格式很方便,不管它的 uncoolness
  • @bfred.it 我创建了自己的解析器,我会将链接放在答案中:-)

标签: javascript gruntjs jasmine ini


【解决方案1】:

正如 bfred.it 所建议的,有很多节点包可以解析 .ini 文件。但是,它们都没有按照我希望的方式工作,所以我决定创建自己的。

源代码、文档、说明和您可能需要的任何其他内容都可以在这里找到:https://bitbucket.org/skelware/node-file-parser/

随时在其问题跟踪器上请求功能!

【讨论】:

    【解决方案2】:

    在节点中加载和解析ini文件的简单方法: 首先在命令行上安装:

    npm install parse-ini
    

    然后在代码中:

    var iniParser = require('parse-ini');
    var parsedIni = iniParser.parse('yourfile.ini');
    // job done, you can use results in parsedIni:
    console.log(parsedIni.sectionName.variableName);
    console.log(parsedIni.variableWithoutSectionName);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 2019-01-29
      • 1970-01-01
      相关资源
      最近更新 更多