将匿名函数中的 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'
});
}
]);
})()
我使用 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'
});
}
]);
})()