【问题标题】:Choosing different environments on yo angular fullstack projects from grunt?在 grunt 的 yo angular fullstack 项目上选择不同的环境?
【发布时间】:2015-07-01 08:05:16
【问题描述】:

在使用 yo angular fullstack 生成的脚手架项目中,我通常使用 grunt 启动带有 grunt 的应用程序(我不是这方面的专家)。

例子

grunt 

grunt serve

等等。

据我所知,我有三种不同的环境(开发、测试、生产)。每次我需要更改时,我都必须转到主文件更改正确的行(默认为 Development)。

如何从终端中选择其中之一?我完全确定必须有办法从 grunt 中做到这一点......

我可以想象它必须是这样的

grunt serve --env:prod

grunt serve --test

grunt serve development

我已经尝试了所有这些,但没有,我一直在花一些时间试图从 Gruntfile 中弄清楚这一点,但我都找不到谷歌搜索。

有人知道怎么做吗?任何帮助将不胜感激

【问题讨论】:

    标签: angularjs node.js gruntjs angular-fullstack yo


    【解决方案1】:

    您可以像这样NODE_ENV=production grunt 启动您的应用程序,并且环境变量在此执行中仅是生产环境变量。如果你想设置环境变量,你可以这样做

    > export NODE_ENV=production
    > grunt
    

    并且您的环境变量将保留在生产环境中,直到您将其更改为另一个环境。

    【讨论】:

    • 谢谢,不胜感激。事实上,这是我能看到的最好的解决方法!
    • 我刚刚发现它可能是答案 grunt serve:dist..虽然我需要有人确认。我会试试的
    【解决方案2】:

    查看serve 任务。有不同的目标。您可以通过附加冒号和目标名称来设置目标。

    发展

    grunt serve
    

    分销(生产)

    grunt serve:dist
    

    调试

    grunt serve:debug
    

    通过设置目标,Grunt 会运行不同的任务。

    serve任务

    grunt.registerTask('serve', function (target) {
      if (target === 'dist') {
        return grunt.task.run(['build', 'env:all', 'env:prod', 'express:prod', 'wait', 'open', 'express-keepalive']);
      }
    
      if (target === 'debug') {
        return grunt.task.run([
          'clean:server',
          'env:all',<% if(filters.stylus) { %>
          'injector:stylus', <% } %><% if(filters.less) { %>
          'injector:less', <% } %><% if(filters.sass) { %>
          'injector:sass', <% } %>
          'concurrent:server',
          'injector',
          'wiredep',
          'autoprefixer',
          'concurrent:debug'
        ]);
      }
    
      grunt.task.run([
        'clean:server',
        'env:all',<% if(filters.stylus) { %>
        'injector:stylus', <% } %><% if(filters.less) { %>
        'injector:less', <% } %><% if(filters.sass) { %>
        'injector:sass', <% } %>
        'concurrent:server',
        'injector',
        'wiredep',
        'autoprefixer',
        'express:dev',
        'wait',
        'open',
        'watch'
      ]);
    });
    

    【讨论】:

      猜你喜欢
      • 2016-04-17
      • 1970-01-01
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多