用gulp连接匿名函数中的javascript

时间:2015-02-04 11:22:13

标签: javascript angularjs gulp

我使用gulp将脚本连接到一个文件中。在连接之前,我已将.js文件拆分为单独的文件。

所以我有app.js,我宣布我的角度应用程序和其他一些东西。但我也有route.js,我宣布我的路由。但是,app.js中我的角度应用程序的声明包含在一个匿名函数中,所以当它连接app.js和route.js时,route.js超出了我的Angular应用程序声明的范围。

有没有办法用Gulp将脚本注入到作用域中而不是将它们连接在一起?或者除了伪造JSLint和匿名函数之外还有其他一些方法吗?

1 个答案:

答案 0 :(得分:1)

如果您没有使用CommonJS或AMD模块并且只是连接脚本,那么只需确保每个连接脚本在其自己的范围内获得所需的模块。

(function() {

    // Declare app
    var app = angular.module('Application', ['ngRoute']);

    // Do stuff with variable app in scope.

})();

现在在你的routes.js

(function() {

    // Grab the already created module for use
    // in this scope.
    var app = angular.module('Application');

    app.config([
        '$locationProvider', 
        '$routeProvider',
        function($locationProvider, $routeProvider) {

            $locationProvider.html5Mode = true;

            $routeProvider.when('/', {
                controller : 'MyCtrl',
                templateUrl : 'index.html'
            });
        }
    ]);
})()