将匿名函数中的 javascript 与 gulp 连接起来

concatenate javascript in anonymous function with gulp

我使用 gulp 将我的脚本合并到一个文件中。在串联之前,我将我的 .js 文件拆分成单独的文件。

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

有没有什么方法可以用 Gulp 将脚本注入范围而不是将它们连接在一起?或者除了 didging JSLint 和匿名函数之外,我还缺少其他方法吗?

如果您不使用 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'
            });
        }
    ]);
})()