Node.js Grunt:如何为不同的环境更改配置字符串
我有一个python文件作为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'] ...
- 构建:dev
- 构建:发布
...
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中添加了一些自定义代码,以读取不同的环境配置,并基于这些配置定制构建输出
我在本文中详细介绍了完整的部署脚本:
我希望你觉得这很有用