我使用gulp将脚本连接到一个文件中。在连接之前,我已将.js文件拆分为单独的文件。
所以我有app.js,我宣布我的角度应用程序和其他一些东西。但我也有route.js,我宣布我的路由。但是,app.js中我的角度应用程序的声明包含在一个匿名函数中,所以当它连接app.js和route.js时,route.js超出了我的Angular应用程序声明的范围。
有没有办法用Gulp将脚本注入到作用域中而不是将它们连接在一起?或者除了伪造JSLint和匿名函数之外还有其他一些方法吗?
答案 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'
});
}
]);
})()