Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Grunt:如何为不同的环境更改配置字符串_Node.js_Gruntjs - Fatal编程技术网

Node.js Grunt:如何为不同的环境更改配置字符串

Node.js Grunt:如何为不同的环境更改配置字符串,node.js,gruntjs,Node.js,Gruntjs,我有一个python文件作为grunt工作流的一部分。我定义了两个构建任务: 构建:dev 构建:发布 当我编译“build:dev”时,我想将这一行添加到我的python文件中: ... app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + dbpath ... ... app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['POSTGRESQL_COLORFUL_URL'] ...

我有一个python文件作为grunt工作流的一部分。我定义了两个构建任务:

  • 构建:dev
  • 构建:发布
当我编译“build:dev”时,我想将这一行添加到我的python文件中:

...
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + dbpath
...
...
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['POSTGRESQL_COLORFUL_URL']
...
当我编译“build:release”时,我想将这一行添加到我的python文件中:

...
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + dbpath
...
...
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['POSTGRESQL_COLORFUL_URL']
...
编辑:修复了您可以使用的代码和标题中的打字错误

这是一个构建在Grunt中的非常有用的“查找并替换”系统

从文档中: 将此行添加到项目的Gruntfile.js:

grunt.loadNpmTasks('grunt-sed');
然后,在build:dev和build:release中,任务具有以下内容:

sed: {
    database_uri: {
      path: 'path_to_your_python.py',
      pattern: '%PATTERN_IN_YOUR_PYTHON_FILE%',
      replacement: '\'sqlite:///\' + dbpath',
    }
  }

在要替换的python文件中,您的python文件%中必须有
%PATTERN\u要替换。

我使用了一个名为grunt string replace的插件,该插件对于我需要做的工作非常有效。此外,我在Gruntfile.js中添加了一些自定义代码,以读取不同的环境配置,并基于这些配置定制构建输出

我在本文中详细介绍了完整的部署脚本:

我希望你觉得这很有用