我尝试使用 JEKYLL_ENV 变量在生产模式下构建我的 jekyll 项目,但它不起作用。
Jekyll 文档指定production在构建命令中设置环境:
JEKYLL_ENV=production jekyll build
Run Code Online (Sandbox Code Playgroud)
但是在 Windows 上,这种类型的语法是不正确的。我使用了以下语法,但它看起来不起作用:
jekyll build JEKYLL_ENV=production
Run Code Online (Sandbox Code Playgroud)
我还“手动”设置了这个环境变量,但没有生效:
setx JEKYLL_ENV production & jekyll build
Run Code Online (Sandbox Code Playgroud)
和
set JEKYLL_ENV=production & jekyll build
Run Code Online (Sandbox Code Playgroud)
小智 10
我的 Windows/Jekyll 设置也遇到了这个问题。我的解决方法是拥有生产和开发配置文件并environment在每个文件中设置变量。
// _config.yml
environment: production
...<other config settings>...
--------
// _config_dev.yml
environment: development
Run Code Online (Sandbox Code Playgroud)
您的生产环境应该jekyll build会自动使用_config.yml. 您的开发环境应该运行jekyll <command> --config _config.yml,_config_dev.yml. 在Jekyll 配置文档中,“后面的 [config] 文件中的设置会覆盖早期文件中的设置。” 因此,您可以在 prod 和 dev 配置文件--config _config.yml,_config_dev.yml中设置变量,并用于在 dev 中设置变量。
要在 Jekyll 中使用它,请使用 Liquid 语句来检查环境变量。配置文件设置 site变量,所以检查site.environment
// some file that will be processed by Jekyll
{% if site.environment == "production" %}
<do prod stuff>
{% elsif site.environment == "development" %}
<do dev stuff>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1651 次 |
| 最近记录: |