javascript - 使用 GruntJS 的 AngularJS 开发模式

标签 javascript angularjs gruntjs yeoman

我有几个产品是从 yeoman Angular 生成器开始的,它是一个非常好的开发设置。我未能找到好的解决方案的一件事是设置开发/生产模式标志。

自然地,我们使用了一些我们只希望在生产中使用的工具,因此拥有可以同时使用内联 JavaScript 和/或 HTML 文件的 prod/dev 变量将非常有用。我之前在网上搜索过解决方案,但没有找到任何有用的东西。

最终,我正在寻找一个在 AngularJS 设置中使用的好解决方案,最好通过 grunt serve 和/或构建运行来设置。其他团队在这里做什么?

最佳答案

我正在使用 ng-constant .它创建一个 .js 文件,其中包含您选择的一些 Angular 常量。

grunt.initConfig({
    ...
    ngconstant: {
        options: {
            name: 'config',
            dest: '<%= yeoman.app %>/scripts/config.js'
        },
        development: {
            constants: {
                myVariable: 'it is development'
            }
        },
        production: {
            constants: {
                myVariable: 'it is production'
            }
        }
    }
});

然后将其添加到您的任务中:

grunt.registerTask('serve', [
    ...
    'ngconstant:development',
    ...
]);

不要忘记在您的 html 中包含此/scripts/config.js 文件并将“config”注入(inject)您的应用。

var app = angular.module('myApp', [
    'config',
    ...
]);

关于javascript - 使用 GruntJS 的 AngularJS 开发模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25507210/

相关文章:

CSS - 滚动被后面的div消耗

node.js - Vagrant 提供,无法启动 grunt

javascript - 带有外部 Javascript 文件的 SVG 和 HTML

javascript - 使用 JQuery 创建按钮

javascript - 三星智能电视应用程序和 Brightcove 示例应用程序远程控制问题

javascript - 如何将对象传递给 Mocha 测试

javascript - grunt-contrib-clean 不删除单个文件

javascript - 索引不工作

javascript - Angularjs 中 ng-view 位置更改后突出显示文本

javascript - 如何在 Ng-repeat 中设置跨度值