我目前正在从事基于 angularAMD 的 Angualar JS 项目。
链接:http://marcoslin.github.io/angularAMD/#/home
这里我们只包含 Controller 所需的必要依赖文件,而不是所有文件。
例如。
define(['angularAMD', 'common/services/service1', 'module1/services/service2',], function (angularAMD) {
'use strict';
angularAMD.controller('abcController', function ($scope, service1, service2) {
// controller code goes here
}
我已经尝试过 Grunt Hashing 但是
Grunt 提供散列,但散列文件的位置发生变化。
这不会更改单个 Controller 内文件的路径,因此应用程序无法运行。即 service1, service2
问题
我想知道当我们包含一个新文件时是否有办法对文件进行哈希处理?
有没有其他方法可以解决这个问题?
提前致谢
最佳答案
你如何设置你的模块。你的 main.js 可能看起来像这样
'use strict';
require.config({
waitSeconds: 0,
urlArgs: "bust=v1.0.0",
paths: {
bootstrap: 'Scripts/bootstrap.min',
jquery: 'Scripts/jquery-1.10.2.min',
angular: 'Scripts/angular.min',
angularRoute: 'Scripts/angular-route.min',
angularAMD: 'Scripts/angularAMD.min',
app: 'ngApp/app',
appConfig: 'ngApp/app.config',
/*register Services - Start*/
service1: 'ngServices/Common/service1',
service2: 'ngServices/module/service2',
/*register Services - End*/
/*register Filters - Start*/
/*register Filters - End*/
/*register Controllers - Start*/
/*register Controllers - End*/
},
// specifying library dependencies
shim: {
'bootstrap':{ deps:['jquery']},
'angular': { deps: ['jquery'], exports: 'angular' },
'angularRoute': { deps: ['angular'] },
'angularAMD': { deps: ['angular'] }
},
// define application bootstrap
deps: ['app']
});
在你的 index.html 中
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body data-ng-controller="appController as appCtrl" ng-cloak>
<div >
<ng-view></ng-view>
</div>
</div>
<script data-main="main" src="Scripts/require.js"></script>
</body>
</html>
在你的 Controller 中
'use strict';
define(['angularAMD', 'service1', 'service2'],
function (angularAMD) {
angularAMD.controller('abcController', ['service1', 'service2',
function (service1, service1) {
var self = this,
// your code
}]);
});
关于javascript - 使用 AngularJS 进行文件哈希处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894881/