Node.js 如何使用grunt连接angularjs文件

Node.js 如何使用grunt连接angularjs文件,node.js,angularjs,gruntjs,concatenation,Node.js,Angularjs,Gruntjs,Concatenation,我有一个angularjs应用程序。 我想将所有angularjs文件连接到单个文件。 我正在使用grunt并搜索有关连接grunt插件的信息。 我发现有grunt contrib concat和grunt concat顺序插件 但是,我无法找到关于如何将文件与依赖项连接起来的示例的答案。 如果我使用grunt concat顺序插件,请让我知道如何指定依赖项 注意:在grunt concat的订单文档中,它说要指定framework.require(“moduleA”)。但不确定框架是什么。有没

我有一个angularjs应用程序。 我想将所有angularjs文件连接到单个文件。 我正在使用grunt并搜索有关连接grunt插件的信息。 我发现有grunt contrib concat和grunt concat顺序插件

但是,我无法找到关于如何将文件与依赖项连接起来的示例的答案。 如果我使用grunt concat顺序插件,请让我知道如何指定依赖项

注意:在grunt concat的订单文档中,它说要指定framework.require(“moduleA”)。但不确定框架是什么。有没有有效的方法在单个文件中指定依赖项

提前感谢,,
Rajaguru

我不知道grunt中有哪些选项,但是Angular.js代码取决于用于声明其控制器、工厂等的函数的特定参数名称

也就是说,当你声明一个控制者
myModule.controller(function($scope){…})
-其中的$scope必须是实际的变量名-一个不知道这一点的javascript缩小工具会将变量名更改为较短的变量名,并且会被angular无法识别

因此,除非您能找到一些特定的grunt选项,使其避免更改函数和参数名(以及Lilly变量),否则无法将其应用于angular.js项目。
可以选择只将javascript文件连接在一起,而不损坏名称,从而避免此问题

根据grunt contrib concat,它将按顺序处理concat文件

然而,我建议你用它来做这项工作,它与 (您需要使用bower,它可以解决您的依赖性问题)

简而言之,我建议您签出并查看他们使用的插件


对于@jsbueno,您没有回答这个问题。但是你想要的是:

你可以考虑这个解决方案

  • 将模块声明分隔为
    xxx.module.js

  • 在grunt contrib concat中,修改如下配置:

    将此文件放置在grunt.initConfig外部

  • 变量clientApp='./app/'


    grunt contrib concat配置

    dist: {// grab module first, state the second
        src: [
            clientApp+'**/*.module.js',
            clientApp+'**/*.state.js',
            clientApp+'**/*.js'
            ],
        dest: 'dist/<%= pkg.name %>.js'
    }
    
    dist:{//grab模块第一个,说明第二个
    src:[
    clientApp+'**.module.js',
    clientApp+'**.state.js',
    clientApp+“***.js”
    ],
    dest:'dist/.js'
    }
    
    我使用状态来定义状态,所以在尝试导航到任何状态之前,我也必须定义状态。这是预览我的代码,首先声明模块声明,然后声明我的状态。即使缩小也不会产生任何问题。

    我希望这对你有帮助。
    我遵循johnpapa的风格,如果我的解决方案不起作用,您的问题可能会在那里得到解决

    嗨,我认为ngmin在解决您提到的问题时很有用。如果您将所有内容正确地放入角度模块中,只要先声明模块,就可以按任何顺序包含文件。这正是我正在搜索的解决方案。正如你所提到的。